2011-03-07 124 views
6

我想知道如何在form_for select上设置默认值。如何设置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中的任何值。请帮助

+0

您的代码示例没有显示出来。如果你解决了这个问题,你的问题可能会很快得到解答...... – 2011-03-07 04:06:10

回答

11

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

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

显然,我不知道你是如何模型成立,但如果有必要,你使用像find的方法来找到你想要的条目。

1

添加一个参数:选定=>

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