3

現在、モデルのフォームを作成していますが、フォームに関連付けられたモデル フォームの開発に問題があります。

私が受け取っているエラー:

undefined method `tradie_id' for #<ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_TradieCategory:0xd0f9d78>

フォーム コードは次のようになります。

= form_for @data[:tradie], url: { action: "update_tradie" } do |tradie|

  # This doesn't work
  = tradie.fields_for :tradie_categories, @data[:tradie].tradie_categories do |category|
    = category.text_field :tradie_id

  # However this fields_for does
  = tradie.fields_for :tradie_locations, @data[:tradie].tradie_locations do |location|
    = location.text_field :address

Tradieモデルにはモデルとの関係があり、モデルhas_manyには との関係があります。また、フィールドがあることも確認しました。TradieCategoryTradieCategorybelongs_toTradieTradieCategorytradie_id

上記の形式では、モデル@data[:tradie]のインスタンスと同じです。私が呼び出すか、彼らが と の関連付けられたモデル データを呼び出しているときTradieはいつでも。tradie_categoriestradie_locationsTradieCategoryTradieLocation

最後に、ビュー コードで を実行する= @data[:tradie].tradie_categories.to_aと、html ページに返されます

[#<TradieCategory id: 2, tradie_id: 2, category_id: 1, created_at: "2013-09-08 19:50:10", updated_at: "2013-09-08 19:50:10">]

これの何が問題なのかわかりません。何が問題で、どうすればこれを修正できますか?

4

1 に答える 1

7

モデルを追加accepts_nested_attributes_for :tradie_categoriesしましたか?Tradie

于 2013-09-15T15:30:02.050 に答える