7

我有以下使用 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" %>

那也没有用。有任何想法吗?

4

2 回答 2

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"} 
于 2013-02-27T19:50:54.713 回答
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 哈希中传递了任何内容,它将应用于集合中的每个选择标记。

因此,请确保您希望该类出现在每个元素上。

于 2013-02-27T19:53:08.273 回答