我有以下使用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" %>
这也不起作用。有什么想法吗?
答案 0 :(得分:12)
HTML选项是date_select
方法的第四个参数,而不是第三个参数中的键。
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"}
答案 1 :(得分: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哈希中传递了任何内容,它将应用于集合中的每个选择标记。
因此,请确保您希望该类出现在每个元素上。