这里我的设计师改变了在html模板中使用锚标签的方式,所以我也需要更改我的rails模板,
如果他将标记放在已批准的html页面中,
<a href="#">About Me</a>
我正在以这种方式转换它
<%= link_to "About Me", '#' %>
现在,如果他在标题
中添加了带有span标记的<a href="#">About <span> Me</a>
<ul>
<li><a href="#">About <span>Me</span></a></li>
</ul>
这是输出,基本上是span标记断行并在第二行显示
About
Me
现在我需要帮助将此标记转换为rails 3.2.1标记。
喜欢<%= link_to "About <span> Me</span>", '#' %>
我该怎么做? (我知道会产生错误信息)
答案 0 :(得分:4)
您需要确保rails不会转义html标记。您可以使用html_safe或raw:
执行此操作<%= link_to "About <span> Me</span>".html_safe, '#' %>
或
<%= link_to raw("About <span> Me</span>"), "#" %>
答案 1 :(得分:1)
如果在跨度中包装整个链接是正常的,请创建一个执行以下操作的帮助程序:
def spanned_link_to(name,path=nil,options=nil)
content_tag :span do
link_to name, path, options
end
end
使用如下:
<%= spanned_link_to "About Me","#" %>
如果没有,
<%= link_to raw("About <span>Me</span>"),"#" %>
答案 2 :(得分:0)
我希望link_to屈服于一个块。我不完全确定ERB中的样子(我使用HAML)。你可以写一个这样的链接,但是:
link_to '#' do
content_tag(:span, "About me")
end
或者我认为你可以像这样做一个班轮:
link_to '#' { content_tag(:span, "About me") }