Как установить значение по умолчанию для form_for выберите

Я хотел бы знать, как установить значение по умолчанию в форме для выбора.

Мой код выглядит так:

<%= 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 ответа

Решение

Вы можете передать второй вариант 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 %>
Другие вопросы по тегам