rails:fields_for选择

在我看来,我使用fields_for来显示关系表的表单数据。 但是,此表单的一部分将包含可供选择的列表。 我看到有form_for和fields_for助手的label,text_field,text_area帮助器,它们将填充已经填充的模型对象所需的信息……但是选择列表帮助器会做同样的事情呢?

当我具有一对多关系时,这将特别有用,因为fields_for遍历已经在模型对象中的每个项目并使用索引显示它。

有这样的事吗?

您可以使用几种选择辅助方法。 最常见的是collection_select 。 如果您在模型上有belongs_to关联,并且您想使用选择菜单来设置它,那么这很好。

 <%= f.collection_select :category_id, Category.all, :id, :name %> 

对于其他情况,有更通用的选择方法。 在这里,您可以提供一系列您想要提供的选项。

 <%= f.select :priority, [["Low", 1], ["Medium", 2], ["High", 3]] %> 

每个数组元素中的第一个值是select选项的名称,第二个值是将分配给该属性的值。

还有许多其他选择菜单(日期和时间),但上述两个应涵盖大多数情况。 这些方法适用于form_forfields_for

您正在寻找select或collection_select 。 两者都可以在form_for或fields_for块中使用。 有关如何在文档中的form_for中使用它们的示例