创建新项目时,我的表单中有这行代码。虽然在编辑项目时,默认选择不是所选的项目。我需要设置初始值吗?
<%= f.select :category, options_for_select(Item::CATEGORIES) %>
答案 0 :(得分:3)
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) %>