代码之家  ›  专栏  ›  技术社区  ›  holden

接受\u嵌套的\u属性

  •  1
  • holden  · 技术社区  · 14 年前

    我正在尝试使用附加到另一个模型的注释样式模型,但不断出现错误:

    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\u属性vs MODELNAME。。。我不知道为什么?形式似乎是一样的,只有一个例外是嵌套?

    1 回复  |  直到 14 年前
        1
  •  0
  •   Tim Cooper    13 年前

    确保您正在使用 fields_for