2010-09-30 132 views
2

当我创建一个新项目时,我的表单中有这行代码。虽然当我编辑项目时,默认选择不是所选的项目。我需要设置初始值吗?Ruby on Rails 3选择助手问题

<%= f.select :category, options_for_select(Item::CATEGORIES) %> 

回答

3

options_for_select接受用于识别所选择的值第二PARAM。

尝试

<%= 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) %>