Ruby on Rails: как добавить класс в ссылку на helper?
Как вы получаете link_to для создания чего-то вроде
<a class="myclass".....
Это мой код
<%= link_to "link", :controller => :my_controller, :action => :index, :class=>("on" if request.path =~ //my_controller/ ) %>
2 ответов
Если вы читали 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/ ) }
который можно все поместить на одной линии если вы любите.
в коде :class
включается в url_options
хэш, а не html_options
. Попробуйте что-то вроде этого:
<%= link_to "link", {:controller => :my_controller, :action => :index}, {:class => ...} %>