当我创建新项目时,我的表单中有这行代码。尽管当我编辑该项目时,默认选择不是所选的项目。需要设置初始值吗?
<%= f.select :category, options_for_select(Item::CATEGORIES) %>
最佳答案
options_for_select
接受第二个参数,用于标识所选值。
尝试
<%= f.collection_select :category_id, Item::CATEGORIES, :downcase, :titleize %>
它假设您的 Item::CATEGORIES
给出了一个类别字符串数组。
对于 Item::CATEGORIES
中的每个类别,category.downcase
将用作选项的值,而 category.titleize
将用作用作选项的文本。
即。
<option value="<%= cate.downcase %>"><%= cate.titleize %></option>
======
或者你可以:
<%= f.select :category, options_for_select(Item::CATEGORIES, @cur_obj.category.id) %>
关于forms - Ruby on Rails 3 选择帮助程序问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3827337/