我有一个属于品牌的产品型号
Model product
belongs_to :brand
model Brand
has_one :product
关于产品创建我在创作上放置一个精选品牌
<%= p.collection_select(:brand_id, Brand.all, :id, :name, {},{ :multiple => false}) %>
但是如果用户想要添加他的品牌,我添加了一个文本字段
<%= p.fields_for :brand_attributes do |b| %>
<%=b.text_field :name, :label=>"Name"%>
<% end %>
现在,如果用户选择品牌,则选择未在产品展示页面上显示 只要用户添加品牌名称
那么,是否可以保留一个精选品牌,并且可以添加品牌名称?
答案 0 :(得分:1)
这是可能的,但您需要在控制器方法中添加一些额外的逻辑以满足任一情况。您已经发布了最少的代码,因此如果您显示表单发布的控制器方法,它会有所帮助。
你确定关系应该是has_one
吗?从您的表单和您显示所有品牌的事实,允许用户选择可能已经被选择用于另一个产品的品牌,这可以解释为什么该品牌没有出现在展示页面上。您可能需要has_many
关系。