現在、モデルのフォームを作成していますが、フォームに関連付けられたモデル フォームの開発に問題があります。
私が受け取っているエラー:
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
には との関係があります。また、フィールドがあることも確認しました。TradieCategory
TradieCategory
belongs_to
Tradie
TradieCategory
tradie_id
上記の形式では、モデル@data[:tradie]
のインスタンスと同じです。私が呼び出すか、彼らが と の関連付けられたモデル データを呼び出しているときTradie
はいつでも。tradie_categories
tradie_locations
TradieCategory
TradieLocation
最後に、ビュー コードで を実行する= @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">]
これの何が問題なのかわかりません。何が問題で、どうすればこれを修正できますか?