как установить значение по умолчанию для form_for выберите - PullRequest
6 голосов
/ 07 марта 2011

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

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

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

11 голосов
/ 07 марта 2011

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

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

Очевидно, я не уверен, как настроены ваши модели, но при необходимости вы используете метод, подобный find , чтобы найти нужную запись.

1 голос
/ 26 января 2012

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