2013-02-27 10 views
7

Ho la seguente uso di date_select ..rotaie date_select classe non avrà effetto

<%= f.date_select :birthday, :order => [:month, :day], :prompt => { :day => 'Select day', :month => 'Select month' }, :html => {:class => "select birthday"} %> 

Ma la classe non si presenta in html ..

<select id="profile_birthday_2i" name="profile[birthday(2i)]"> 
<select id="profile_birthday_3i" name="profile[birthday(3i)]"> 

Ho anche provato.

<%= f.date_select :birthday, :order => [:month, :day], :prompt => { :day => 'Select day', :month => 'Select month' }, :class => "select birthday" %> 

Anche questo non ha funzionato. Qualche idea?

risposta

12

Le opzioni HTML sono un quarto argomento del metodo date_select, anziché essere una chiave nel terzo argomento.

Dal documentation:

date_select(object_name, method, options = {}, html_options = {}) 

Quindi che ci si vuole:

f.date_select :birthday, { :order => [:month, :day], :prompt => { :day => 'Select day', :month => 'Select month' } }, {:class => "select birthday"} 
+0

Grazie, ha funzionato! – absolutskyy

1

è necessario utilizzare html_options, non html per specificare la classe.

Credo che funzionerà, anche se non l'ho provato.

<%= f.date_select :birthday, :order => [:month, :day], :prompt => { :day => 'Select day', :month => 'Select month' }, :html_options => {:class => "select birthday"} %> 

vedere la descrizione API qui:

http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html

Nota: La documentazione dicono:

Se qualcosa è passato nelle html_options hash verrà applicata a tutti i tag select nel set.

Quindi assicurati di aspettarti che la classe venga visualizzata su ciascun elemento.

+1

Grazie Kevin, questo non ha funzionato per me. Vedi il suggerimento di Douglas. – absolutskyy

Problemi correlati