как установить значение формы по умолчанию для 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. Pls help

2 6

2 ответа:

Можно передать второй параметр options_for_select, который указывает выбранное значение .

options_for_select(@user_groups.collect { |p| [p.name, p.id] }, @user.user_group)
Очевидно, я не знаю, как настраиваются ваши модели, но при необходимости вы используете такой метод, как find, чтобы найти нужную запись.

Добавьте параметр: 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 %>