2011-03-07 21 views
6

Me gustaría saber cómo establecer el valor predeterminado en form_for select.cómo establecer el valor predeterminado de form_for select

Mi código es el siguiente:

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

Obviamente, sería devolver todos los valores de la user_group campo. En mi página de edición, me gustaría establecer el valor predeterminado para cualquier valor que el usuario tenga en el grupo_usuario. Pls ayuda

+0

Su ejemplo de código no aparece. Si arreglas eso, tu pregunta probablemente será respondida bastante rápido ... –

Respuesta

11

Puede pasar una segunda opción a options_for_select que indica el valor seleccionado .

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

Obviamente no estoy seguro de cómo sus modelos se crean, pero si es necesario se utiliza un método como find para localizar la entrada que desea.

1

añadir un parámetro: 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 %> 
Cuestiones relacionadas