使用link_来帮助包装一些HTML

问题描述

|| 我想使用link_来包装一些HTML,但是遇到一些问题。
<%= link_to \'index\',{ :controller => \"user\",:action => \"resume\" },:class => is_active?(\"index\") do %>
  <li class=\"usidebar-index\">index</li>
<% end %> 

<a href=\"index\" controller=\"user\" action=\"resume\">
  <li class=\"usidebar-index\">index</li>
</a>
我也尝试过:
<%= link_to \'index\',:class => is_active?(\"index\") do %>
  <li class=\"usidebar-index\">index</li>
<% end %>

<a href=\"index\" action=\"resume\" controller=\"user\">
  <li class=\"usidebar-index\">indx</li>
</a>
我想要的是:
<a href=\"index\" class=\"some-style\">
  <li class=\"usidebar-index\">index</li>
</a>
你能帮我吗?     

解决方法

        根据rails文档:
<%= link_to({:controller => \"user\",:action => \"resume\" },:class => is_active?(\"index\")) do %>

  <li class=\"usidebar-index\">index</li>

<% end %>
    ,        如果您要为link_to提供一个块,则不再需要链接文本的(常规)第一个参数。 所以我猜想你要这个:
<%= link_to {:controller => \'user\',:action => \'resume\'},:class => is_active?(\'index\') do %>
  <li class=\"usidebar-index\">index</li>
<% end %>
    ,        尝试:
<%= link_to content_tag(:li,:class => \"usidebar-index\"),{ :controller => \"user\",:class => is_active?(\"index\") do %>
虽然,在
a
标签中看到
li
很奇怪。通常情况是相反的。