Ruby - 渲染没有html标签的文本

时间:2017-01-05 23:25:00

标签: ruby haml

我有一个富文本输入字段,用户可以在其中自定义文本。

= render :partial => "shared/rich_text", :locals => {:f => f, :field => :description, :label => "Description"}

问题是消息是使用html标记呈现的:

<p><ul><li>go to to add your email <b>false@someemailservice.com</b>, and <a href="www.google.com">www.google.com</a> and www.othersite.com</li></ul></p>

如何更改此项以使用超链接进行更改而不是使用html标记的纯文本?

1 个答案:

答案 0 :(得分:1)

尝试使用html_safe。作为安全措施,Rails默认会转义字符串,因为它可能会嵌入恶意代码。如果你使用html_safe,你告诉Rails你的字符串对unescape是安全的。

<% @string = "<h1>String</h1>" %>
<%= @string.html_safe %>