如何呈现HTML标记,而不是打印它

时间:2014-09-29 07:56:09

标签: ruby-on-rails font-awesome

我正在使用一个名为@menu的对象的装饰器来渲染我视图中的链接。我也在为装饰师使用Draper gem。

在我的装饰师中,我有以下几点:

def link
  link_to model.name + icon("external-link"), model.url
end

但是当我使用@menu.link在我的视图中调用此内容时,<i>的html标记将字面显示在页面上,而不是被处理。

顺便说一句,我可以使用来自font-awesome gem的帮助器来渲染相同的html:icon("external-link")。但它会产生相同的结果。在这种情况下,有人能告诉我如何正确渲染html吗?

1 个答案:

答案 0 :(得分:0)

如果你使用的是font-awesome-sass gem,那么使用#icon helper方法会很聪明。在你的情况下:

def link_with_icon
  link_to (model.name + icon('external-link')).html_safe, model.url
end