Как установить значение по умолчанию для 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 %>