在作为关联品牌的产品型号中,我希望有一个输入字段,我可以选择现有品牌或添加新品牌。
以我的形式:
<%= f.fields_for :brand do |b| %>
<div class="form-group">
<%= b.label :name, t('brand.one') %>
<%= b.select :name, options_from_collection_for_select(Brand.all, :name, :name, product.brand.name), { include_blank: true}, class: '0select2-find-or-create' %>
</div>
<% end %>
并在模型中: 产品:
belongs_to :brand
accepts_nested_attributes_for :brand, limit: 1
品牌:
has_many :products
但每次我更改产品品牌时,它都会改变该品牌(按品牌ID)的名称,而不是更改ID。
同样,对于创建新品牌的部分,我将尝试将select2与tags
选项一起使用。还有其他建议吗?
答案 0 :(得分:0)
我认为这可能是因为你的options_from_collection_for_select(Brand.all, :name, :name, product.brand.name)
我相信你想要的第二个参数是id
,而不是:name
。