在Ruby on Rails中编码/转义HTML字符串

时间:2013-11-27 04:10:01

标签: html ruby-on-rails

我有一个来自模型中字段的字符串。

# <br />
"This is my title with break &lt;br /&gt; in the middle"

我在我的观点上呈现它:

<p>
  <%= raw @model.title %>
</p>

其中输出的内容如下:

<p>
  This is my title with break <br /> in the middle
</p>

但是,<br />显示为字符串而不是html。有任何想法吗?

谢谢!

1 个答案:

答案 0 :(得分:4)

是的,正如Dave Newton所说,你应该使用html_safe。如果模型中的html不复杂,可以使用CGI.unescapeHTML进行unescape。但如果是,我认为你应该在http://htmlentities.rubyforge.org/

使用gem HTMLEntities
<p>
  <%= (CGI.unescapeHTML @model.title).html_safe %>
</p>