如何设置form_for select的默认值

时间:2011-03-07 01:42:01

标签: ruby-on-rails-3 select form-for

我想知道如何在form_for select上设置默认值。

我的代码是这样的:

<%= form_for(@user) do |f| %>
 .
 .
 .

 <div class="field">
 <%= f.select(:user_group_id, options_for_select(@user_groups.collect {|p| [ p.name, p.id ] },   "Select Category")) %>
 </div>
<%= end %>

显然它会返回字段user_group的所有值。在我的编辑页面上,我想将默认值设置为用户在user_group中的任何值。请帮忙

2 个答案:

答案 0 :(得分:11)

您可以将第二个选项传递给options_for_select,表示所选的

options_for_select(@user_groups.collect { |p| [p.name, p.id] }, @user.user_group)

显然我不确定你的模型是如何设置的,但如果有必要,你可以使用像find这样的方法找到你想要的条目。

答案 1 :(得分:1)

添加参数:selected =&gt;

    <%= form_for(@user) do |f| %>
     .
     .
     .

     <div class="field">
     <%= f.select(:user_group_id, options_for_select(@user_groups.collect {|p| [ p.name, p.id ] },   "Select Category"), :selected =>f.object.user_group_id) %>
     </div>
    <%= end %>