私は2つのモデルを持っています、Category
そしてLineItemTypes
両方ともすでにたくさん存在しているので、それらを関連付ける必要があります。カテゴリごとに多くのLineItemTypesであること。
追加accepts_nested_attributes_for :line_item_types
しましたCategory
hidden_field
フォームでを使用して、既存の関連付けられたリストを作成してみましたLineItemTypes
:
- form_for @category do |form|
%ul#categorised
- form.fields_for :line_item_types do |line_item_types|
-categorised.each do |l|
%li
=l.description
=line_item_types.hidden_field :category_id
=form.submit
そのリストにアイテムを追加すると、そのカテゴリのLineItemTypeが見つからないというエラーが表示されます。accepts_nested_attributes_forは、関連付けが存在しない場合に関連付けを追加すると思いました。または、新しい関係を作成するのではなく、新しいレコードを「作成」して既存の関係を変更するためだけのものですか。
a.update_attributes({:line_item_types_attributes => [{:id => 2767}, {:id => LineItemType.find(2).id}]})
ActiveRecord::RecordNotFound: Couldn't find LineItemType with ID=2 for Category with ID=1
結果のフォームパラメータをトラバースして関連付けを作成するために何かを書く必要のないアイデアはありますか?または、これを達成するためのさらに簡単な方法はありますか?