2009-12-21 7 views
31

Est-il possible d'ajouter une option comme :include_blank => 'Please Select' dans une méthode select_tag comme c'est possible avec la méthode select? Cela ne semble pas fonctionner. Y a-t-il un substitut à cela pour la méthode select_tag?Puis-je inclure un champ vide dans select_tag?

Répondre

13

La méthode select_tag ne modifie pas la liste d'options que vous transmettez. Si vous voulez une option vide, vous devez l'inclure dans votre liste d'options.

Si vous utilisez options_for_select, votre liste devrait commencer par l'élément , soit: ["Please select", ''].

Si vous êtes juste passer html pour select_tag vous assurer que votre première option est:

<option value="">Please Select</option> 
10

Notez que dans Ruby on Rails 3, select_tag() acceptera un argument booléen :include_blank (même avec date_select, etc.) .

+0

Est-ce que cela a à un 'boolean' ou peut vous passer d'une chaîne à ce qui sera affiché? –

43

Dans Rails 3 il y a une option pour :promptselect_tag:

select_tag "things", many_thing_as_options, :prompt => "Please select" 
+0

Brillant! Merci! J'essayais de préfixer une chaîne avec HTML à l'aide d'options avant que j'ai trouvé votre réponse. – manderson

+0

Ne fonctionne pas pour moi (3.0.20) – gamov

+1

Assez curieusement, include_blank fonctionne sur select_tag mais il ne respecte pas la chaîne qui lui est transmise, donc il montre juste une balise '

Questions connexes