7

form_forselectにデフォルト値を設定する方法を教えてください。

私のコードは次のようになります:

<%= 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内のユーザーの値に設定したいと思います。plsヘルプ

4

2 に答える 2

12

選択した値options_for_selectを示す2番目のオプションを渡すことができます。

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

モデルがどのように設定されているかはわかりませんが、必要に応じて、findなどの方法を使用して目的のエントリを見つけます。

于 2011-03-07T06:21:45.730 に答える
1

パラメータを追加します:selected =>

    <%= 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 %>
于 2012-01-26T10:37:57.610 に答える