0
class Item < ActiveRecord::Base
  attr_accessible :name, :item_reviews
  has_many :item_reviews, :dependent => :destroy
  accepts_nested_attributes_for :item_reviews
end

class ItemReview < ActiveRecord::Base
  attr_accessible :price, :value_for_money
  belongs_to :item
end

新品(レビューあり)の投稿依頼にマルチモデルフォームを使用しています。投稿リクエストで次のパラメーターを使用しています。

{"utf8"=>"✓",
 "authenticity_token"=>"oZZ6T5bxWHnSiO2Tdz3eFUVCrRH3lzzxdBpuJjlWcho=",
 "item"=>{"name"=>"test",
 "item_reviews"=>[{"value_for_money"=>"1",
 "price"=>"25000"}]},
 "commit"=>"Submit"}

しかし、保存中に次のエラーが発生しました。

ItemReview(#89032230) expected, got ActiveSupport::HashWithIndifferentAccess(#77848120)

原因として item_reviews の配列が疑われるため、次のことを行いました。

params[:item][:item_reviews] =  params[:item][:item_reviews][0]

しかし、その後、次のエラーが発生し始めました:

ItemReview(#87446700) expected, got Array(#75744590)

どうすれば解決できますか?

4

0 に答える 0