Ruby on Rails:如何在link_to帮助器中添加类?

时间:2010-09-16 23:21:35

标签: ruby-on-rails

如何获得link_to来生成类似

的内容
<a class="myclass".....

这是我的代码

<%= link_to "link", :controller => :my_controller, :action => :index, :class=>("on" if request.path =~ /\/my_controller/ ) %>

2 个答案:

答案 0 :(得分:13)

如果您阅读API,则会看到以下示例:

link_to(body, url_options = {}, html_options = {})

这意味着link_to的语法是“链接到某个东西,然后是大括号中的其他东西,然后是大括号中的另一个东西。”另一种解释方法是块必须是哈希值。

link_to "link",
        { :controller => :my_controller, :action => :index }, 
        { :class=>("on" if request.path =~ /\/my_controller/ ) }

如果你愿意,可以将它们放在一行上。

答案 1 :(得分:7)

在您的代码中,:class哈希而不是url_options中包含html_options。尝试这样的事情:

<%= link_to "link", {:controller => :my_controller, :action => :index}, {:class => ...} %>