rails:fields_for选择

时间:2009-08-09 21:21:37

标签: ruby-on-rails select helper

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

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

这样的事情是否存在?

2 个答案:

答案 0 :(得分:28)

您可以使用几种选择辅助方法。最常见的是collection_select。如果您在模型上有belongs_to关联,并且您想使用选择菜单来设置此项,那就太棒了。

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

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

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

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

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

答案 1 :(得分:2)

您正在寻找selectcollection_select。两者都可以在form_for或fields_for块中使用。有关如何在文档

中的form_for中使用它们的示例