在我拥有的视图中,我使用fields_for来显示一个关系表的表单数据。但是,此表单的一部分将有选择列表可供选择。我看到有用于form_for的label、text_field、text_area助手和fields_for助手,它们将从已经填充的模型对象中填充所需的信息……但是,如果选择列表帮助器也会做同样的事情呢?
当我有一对多关系时,这将特别有用,因为fields_for会迭代模型对象中已经存在的每一项,并用索引显示它。
真的存在这样的东西吗?
发布于 2009-08-09 22:20:06
您可以使用几种选择帮助器方法。最常见的是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_for或fields_for上都有效。
发布于 2009-08-09 22:09:56
您正在寻找select或collection_select。这两种方法都可以在form_for或fields_for块中使用。文档中有关于如何在form_for中使用它们的示例
https://stackoverflow.com/questions/1252324
复制相似问题