在Rails中的link_to正文中嵌入HTML

时间:2011-03-15 20:56:42

标签: ruby-on-rails link-to

在使用link_to方法生成的链接正文中获取嵌入式HTML的最佳方法是什么?

我基本上想要以下内容:

<a href="##">This is a <strong>link</strong></a>

我一直试图按照Rails and the <span> tag的建议去解决这个问题,但没有运气。我的代码如下所示:

item_helper.rb

def picture_filter
    #...Some other code up here
    text = "Show items with " + content_tag(:strong, 'pictures')
    link_to text, {:pics => true}, :class => 'highlight'
end

item_view.html.erb

 #...
 <%=raw picture_filter %>
 #...

5 个答案:

答案 0 :(得分:106)

以这种方式试试

<%= link_to(raw("a <strong>strong</strong> link"),{:pics => true},{ :class => 'highlight'})  %>

答案 1 :(得分:53)

= link_to "http://www.example.com" do
   <strong>strong</strong>

答案 2 :(得分:22)

截至2016年,我更喜欢这种方法。

<%= link_to url: my_path do %>
    This is a <strong>ape</strong>
<% end %>

答案 3 :(得分:14)

您可以使用html_safe

<%= link_to ("<i class='someIcon'></i> Link").html_safe %>

答案 4 :(得分:4)

不确定这是否是最佳方式。

但是我已经非常成功地在content_tag调用中放置了很多视图助手。

调用.html_safe

也可能没什么坏处
link_to(content_tag(:span, "Show yada " + content_tag(:strong, "Pictures")), {:pics => true})