我正在使用Rinku rails gem将URL链接到我网站上发布的任何内容中。
我已经安装并实现了它,但问题是HTML代码显示在视图中。
这是我正在使用的代码
<%= truncate(Rinku.auto_link(feed_item.content), :length=>400, :omission=>' ...(next page)') %>
以下是我网站上的示例输出视图
hey guys check out my website at <a href="http://www.someURL.com">www.someURL.com</a>
如您所见,HTML <a>
标记显示。为什么要更改feed_item.content以使其正常工作?
Feed_item.content是一个文本,而不是一个字符串。似乎Rinku解析字符串。这是问题的原因吗?
答案 0 :(得分:1)
问题在于,默认情况下,Rails会转义您在erb中输出的字符串中的任何html(使用<%= %>
)作为预防措施。 (如果您查看页面来源,您会看到输出看起来像<a ...>
而不是<a ...>
。)
要阻止这种情况发生,您可以使用.html_safe
方法标记字符串可以安全打印为html:
<%= truncate(...).html_safe %>