问题描述
||
我想使用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
很奇怪。通常情况是相反的。