2011-03-07 2 views
6

Je voudrais savoir comment définir la valeur par défaut sur form_for select.comment définir la valeur par défaut de form_for select

Mon code va comme ceci:

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

Évidemment, il retournerait toutes les valeurs du groupe_de_l_utilisateur sur le terrain. Sur ma page d'édition, je voudrais définir la valeur par défaut à la valeur que l'utilisateur a dans le groupe d'utilisateurs. SVP

+0

Votre exemple de code n'apparaît pas. Si vous y parvenez, votre question sera probablement traitée assez rapidement ... –

Répondre

11

Vous pouvez passer une deuxième option à options_for_select qui indique la valeur sélectionnée.

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

Il est évident que je ne suis pas sûr de savoir comment vos modèles sont mis en place, mais si nécessaire vous utilisez une méthode comme find pour localiser l'entrée que vous voulez.

1

Ajouter un paramètre: 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 %> 
Questions connexes