如何UN转义html字符串

时间:2013-10-09 13:23:28

标签: html ruby-on-rails string

所以我有一个存储预转换文本字符串的数据库表(不要问我为什么......我不知道),我需要将它作为RAW字符串放在页面上。所有的rails输出功能似乎都在逃避输出。

<%= @string %>将在打印到屏幕之前转义字符串的特殊字符

因此,如果我有字符串&amp;,我最终得到类似&amp;amp;的内容,而屏幕输出只是&amp;

2 个答案:

答案 0 :(得分:0)

我认为您需要raw方法:

<%= raw @string %>

答案 1 :(得分:0)

你可以使用html_safe。

html_safe实际上“将字符串”设置为HTML安全(它比这更复杂,但基本上就是这样)。这样,您可以随意从帮助程序或模型返回HTML安全字符串。

h只能在控制器或视图中使用,因为它来自帮助器。它将强制输出转义。它并没有真正被弃用,但你很可能不会再使用它了:唯一的用法是“恢复”html_safe声明,非常不寻常。

在raw之前添加表达式实际上等同于在其上调用html_safe,但是,就像h一样,在helper上声明,因此它只能在控制器和视图上使用。

以下是关于SafeBuffers(执行html_safe魔术的类)如何工作的一个很好的解释:http://yehudakatz.com/2010/02/01/safebuffers-and-rails-3-0/

相关问题