現在、モデルのフォームを作成していますが、フォームに関連付けられたモデル フォームの開発に問題があります。
私が受け取っているエラー:
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">]
これの何が問題なのかわかりません。何が問題で、どうすればこれを修正できますか?