写真の新しいモデルを作成し、それらを別のモデルに関連付けるRuby on Rails を使用したチュートリアルの Dynamic multiple image uploadsに従おうとしています。すべてのコードをコピーして貼り付けた後、次のように「AssociationTypeMismatch」エラーが発生します。
ActiveRecord::AssociationTypeMismatch in AdminForksController#update
Photo(#2176152540) expected, got Array(#2148417160)
app/controllers/admin_forks_controller.rb:23:in `update'
{ "commit"=>"update",
"fork"=>{"position"=>"",
"name"=>"FORK",
"brand"=>"",
"photos"=>{"data"=>#<ActionDispatch::Http::UploadedFile:0x103634328 @headers="Content-
Disposition: form-data; name=\"fork[photos][data]\"; filename=\"marty.jpg\"\r\nContent-Type:
image/jpeg\r\n", @tempfile=#<File:/var/folders/cZ/cZVO8X55FeynZw5cHRz1UE+++TI
/-Tmp/RackMultipart20110716-18721-16ttjsd-0>, @content_type="image/jpeg",
@original_filename="marty.jpg">},
"authenticity_token"=>"iSzZxyzTe/LDLIf4cQiYBGLIk96INnKCP3SC5b5MXHw=",
"utf8"=>"?",
"id"=>"7"}
私のフォークモデルは次のようになります。
class Fork < ActiveRecord::Base
has_many :photos
accepts_nested_attributes_for :photos, :allow_destroy => true
end
そして、私の写真モデルは次のようになります。
class Photo < ActiveRecord::Base
belongs_to :fork
has_attached_file :data
end
:photos
配列として渡されているように見え、それ:fork
を期待しています。この問題を解決するにはどうすればよいですか?
アップデート
問題は解決されました (回答を参照)。:fork
しかし、2 つの変数とはどのよう@fork
に異なるのでしょうか?