現在、アイテム は会社に属し、 has_manyのItemVariantsを持っています。
ネストされた fields_for を使用して Item フォームから ItemVariant フィールドを追加しようとしていますが、:item_variants を使用してもフォームが表示されません。単数形を使用した場合にのみ表示されます。
関連付けを確認しましたが、それらは正しいようです。それは、Company の下にネストされているアイテムと関係がある可能性がありますか、それとも他に何か不足していますか?
前もって感謝します。
注: 以下のスニペットでは、無関係なコードが省略されています。
編集:これが関連しているかどうかはわかりませんが、認証に CanCan を使用しています。
ルート.rb
resources :companies do
resources :items
end
item.rb
class Item < ActiveRecord::Base
attr_accessible :name, :sku, :item_type, :comments, :item_variants_attributes
# Associations
#-----------------------------------------------------------------------
belongs_to :company
belongs_to :item_type
has_many :item_variants
accepts_nested_attributes_for :item_variants, allow_destroy: true
end
item_variant.rb
class ItemVariant < ActiveRecord::Base
attr_accessible :item_id, :location_id
# Associations
#-----------------------------------------------------------------------
belongs_to :item
end
item/new.html.erb
<%= form_for [@company, @item] do |f| %>
...
...
<%= f.fields_for :item_variants do |builder| %>
<fieldset>
<%= builder.label :location_id %>
<%= builder.collection_select :location_id, @company.locations.order(:name), :id, :name, :include_blank => true %>
</fieldset>
<% end %>
...
...
<% end %>