使用其他模型的值下拉菜单

我有属于collections品的产品。 集合只是一个名称。 产品有collection_id。

在我用于创建和编辑产品的_form视图中,我想要一个带有所有集合名称的下拉菜单。

问题,似乎没有附加到form.for的选择方法,我试图使用:

select(method,choices,options = {},html_options = {})

从文档但我不明白。 我必须写一个方法来创建一个表单? 有哪些选择,有两种选择? 两个参数应足以填充标记。

我怎么能有一个下拉菜单,让我通过集合名称为我的产品分配一个集合?

您可以使用集合选择,首先确保您的模型已正确设置:

class Product belongs_to :collection end class Collection has_many :products end 

然后将集合选择添加到您的视图:

 <%= collection_select(:product, :collection_id, Collection.all, :id, :name) %> 

您也可以在此处阅读文档。