我想从我希望成为另一种形式的表单中添加collection_select。
我有一个产品型号,有:
has_many :distribution_companies
has_many :distributors, :through => :distribution_companies, :source => :company
和公司模型,用:
has_many :distribution_companies
has_many :distributed_products, :through => :distribution_companies, :source => :product
(distribution_companies只有对上述模型的引用)
这是表格(不要注意缩进):
= form_for @product, html: { :multipart => true } do |f|
= f.label :name do
Name
= f.text_field :name
/.../
= f.fields_for :distribution_companies do |pn|
= pn.collection_select :company_id, Company.all, :id, :name
= f.submit 'Create the product'
我需要为@product添加select公司并将其存储在distribution_companies表中。我试过abowe(也用pn.object.coll ...)。有什么想法吗?
答案 0 :(得分:0)
正如我所说,您必须将 @product.distribution_companies.build
添加到控制器的 new
方法中。
def new
@product = Product.new
@product.distribution_companies.build
end