accepts_nested_attributes - PullRequest
       17

accepts_nested_attributes

1 голос
/ 15 апреля 2010

Я пытаюсь использовать модель стиля комментария, которая привязана к другой модели, но я получаю сообщение об ошибке:

Review(#2171315060) expected, got Array(#2148226700) 

С параметрами:

   Processing PlacesController#create (for 127.0.0.1 at 2010-04-15 18:57:02) [POST]
      Parameters: {"commit"=>"Submit", "action"=>"create", "destination_id"=>"3243", "controller"=>"places", "place"=>{"address"=>"sdfsdf", "name"=>"dssfs", "lng"=>"", "reviews"=>{"content"=>"sdfsdfsdfsd"}, "website"=>"sdfsdf", "city_id"=>"3243", "lat"=>"", "place_type"=>"1"}}

У меня есть это в родительской модели

  has_many :reviews, :as => :reviewable, :dependent => :destroy
  accepts_nested_attributes_for :reviews

И это в обзоре модели

  belongs_to :reviewable, :polymorphic => true

Есть идеи?

У меня есть что-то подобное, работающее с фотографиями ... также полиморфное, которое прекрасно работает. Единственное отличие, которое я вижу, состоит в том, что я вложил эту модель, поэтому форма выглядит так:

<% form_for :place, :url => destination_places_path(@city), :html => { :multipart => true } do |f| %>

Я также заметил, что в моем примере, который работает, вывод выглядит так:

{"article"=>{"photos_attributes"=>{"1271403114089"=>{"data"=>#<File:/var/folders/9b/9b3G5CRzGk0okD2UGi-hvE+++TI/-Tmp-/RackMultipart20100416-26553-177jk7b-0>}}, "title"=>"dsfdfs", "excerpt"=>"", "content"=>"<p>\r\n\tsdfsdf</p>\r\n", "tag_list"=>"lala,lah"}, "commit"=>"Save", "action"=>"create", "controller"=>"articles"}

По сравнению с тем, который не:

{"commit"=>"Submit",
 "destination_id"=>"1461",
 "place"=>{"name"=>"sdfasdf",
 "address"=>"asdfasdf",
 "photos"=>{"data"=>#<File:/var/folders/9b/9b3G5CRzGk0okD2UGi-hvE+++TI/-Tmp-/RackMultipart20100416-26553-8edo05-0>},
 "lng"=>"",
 "website"=>"asdfasdfs",
 "reviews"=>{"content"=>"asdfasdf"},
 "city_id"=>"1461",
 "place_type"=>"1",
 "lat"=>""}}

т.е. один имеет MODELNAME_attributes против MODELNAME ... и я не уверен, почему? Форма кажется одинаковой с одним исключением из вложенности?

1 Ответ

0 голосов
/ 08 апреля 2011

Убедитесь, что вы используете fields_for, чтобы получить построитель форм для вложенных объектов.

...