2013-02-27 34 views
7

,我有以下使用date_select的..軌date_select類不會生效

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

但類沒有在html顯示..

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

我也試過。

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

那也沒用。有任何想法嗎?

回答

12

HTML選項是date_select方法的第四個參數,而不是在第三個參數中的關鍵。

documentation

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

所以,你會想:

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

謝謝,這工作! – absolutskyy 2013-02-28 19:47:11

1

您需要使用html_options,不html指定的類。

我相信這會起作用,儘管我沒有測試過它。

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

看到這裏的API說明:

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

注:文件說:

如果有什麼事情在html_options通過哈希將適用於每一個選擇標籤在集合中。

所以請確保您期望該類顯示在每個元素上。

+1

感謝凱文,這對我沒有用。請參閱道格拉斯的建議。 – absolutskyy 2013-02-28 19:48:07