2009-12-21 11 views

Antwort

13

Die Methode select_tag ändert die Optionsliste, an die Sie sie übergeben, nicht. Wenn Sie eine leere Option möchten, müssen Sie sie in Ihre Optionsliste aufnehmen.

Wenn Sie options_for_select verwenden, sollte Ihre Liste mit blank beginnen, dh: ["Please select", ''].

Wenn Sie nur html vorbei select_tag sicherstellen, dass Ihre erste Option ist:

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

Beachten Sie, dass in Ruby on Rails 3, select_tag() wird ein :include_blank boolean Argument (das gleiche mit date_select und dergleichen) akzeptieren .

+0

Ist dies ein 'boolean' sein müssen oder können Sie einen String an es übergeben, die angezeigt wird? –

43

In Rails 3 gibt es eine Option für :promptselect_tag:

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

Brilliant! Vielen Dank! Ich habe versucht, eine Zeichenfolge mit HTML dem Optionenhelfer voranzutreiben, bevor ich Ihre Antwort gefunden habe. – manderson

+0

Funktioniert nicht für mich (3.0.20) – gamov

+1

Seltsamerweise funktioniert include_blank auf select_tag, aber es respektiert nicht die Zeichenfolge, die an es übergeben wird, so zeigt es nur ein leeres '

Verwandte Themen