1

Je suis en train d'utiliser un modèle de style de commentaire qui est attaché à un autre modèle mais je continue à obtenir l'erreur:accepts_nested_attributes

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

Avec params:

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"}} 

J'ai cela dans le parent modèle

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

Et ce dans le modèle d'évaluation

belongs_to :reviewable, :polymorphic => true 

Des idées?

J'ai quelque chose exactement comme ça en travaillant avec des photos ... aussi polymorphe qui fonctionne bien. La seule différence que je vois est que j'ai imbriqué ce modèle, de sorte que la forme ressemble à ceci:

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

J'ai aussi remarqué que, dans l'exemple que je qui fonctionne, la sortie ressemble à ceci:

{"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"} 

Par rapport à celui qui ne fait pas:

{"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"=>""}} 

Ie on a MODELNAME_attributes vs MODELNAME ... et je ne sais pas pourquoi? La forme semble être la même à la seule exception de la nidification?

Répondre

0

Assurez-vous que vous utilisez fields_for pour obtenir un générateur de formulaire pour les objets imbriqués.