在Rails(HAML)中为select_year助手添加css类

时间:2012-10-06 14:01:20

标签: ruby-on-rails-3 ruby-on-rails-3.2

我想写这段代码

<select name="date[birth]" id="date_birth" class = "span1">
      <option value="2011">2011</option>
      <option value="2012" selected="selected">2012</option>
      <option value="2013">2013</option>
      </select>
在Rails中,它有select_year帮助器,我只写

= select_year(Date.today, :field_name => "birth", :start_year => 2011, :end_year => 2013)

我尝试通过属性:class => "span1"向其添加css类,但它不起作用! 请帮帮我,谢谢

2 个答案:

答案 0 :(得分:9)

= select_year(Date.today, {:field_name => "birth", :start_year => 2011, :end_year => 2013}, {:class => "span1"})

答案 1 :(得分:1)

是的,答案是@aromero提供的。您需要在单独的哈希中添加:class => "span1"

如果你已经看过the function declaration并且无法实现,我试图解释一下。

函数定义是

select_year(date, options = {}, html_options = {})

看,它实际上有三个参数,

  • 日期:当前日期
  • 选项:与显示信息相关的参数哈希
  • html_options:相关参数的哈希显示html标记。

因此,在您的情况下,添加类名实际上是html_options的一部分。因此,您需要将这两个哈希值分开,并在最后一个哈希中添加class_name

这很重要,因为有很多rails helper以这种方式获取参数。并且请始终参考apidock.com/railsguides.rubyonrails.org以明确了解任何API。