在Rails中显示标签输出文字html

时间:2012-02-14 13:04:15

标签: html ruby-on-rails ruby

我正在制作一个简单的博客Rails应用,并尝试在此输出标签链接:Tags: <%= tag_links(@article.tags) %><br />。 Rails似乎生成了正确的html,但它在浏览器中显示为Tags: <a href="/tags/1">ruby</a>, <a href="/tags/2">tutorial</a>(字面意思)。

我检查了源html,它显示了这个:Tags: &lt;a href="/tags/1"&gt;ruby&lt;/a&gt;, &lt;a href="/tags/2"&gt;tutorial&lt;/a&gt;,它似乎被转换为正确的标签,但字面上显示为文本而不是转换为HTML。

2 个答案:

答案 0 :(得分:3)

使用“html_safe”方法,如:

<%= tag_links(@article.tags).html_safe %>

或者使用“raw”,如:

<%= raw tag_links(@article.tags) %>

您应该将这些放在您自己的方法(tag_links)中的返回值。例如,

def tags_links
  html = ""

  html << link_to "some_where", some_url

  html.html_safe
end

希望它有所帮助。

答案 1 :(得分:2)

使用

<%= raw tag_links(@article.tags) %>

而不是

<%= tag_links(@article.tags) %>

raw方法将绕过自动HTML转义。