如何取消转义html字符串

如何取消转义html字符串,html,ruby-on-rails,string,Html,Ruby On Rails,String,因此,我有一个数据库表,存储预先转义的文本字符串(不要问我为什么…我不知道),我需要将其作为原始字符串放在页面上。所有的rails输出函数似乎都没有输出 前 将在打印到屏幕之前转义字符串的特殊字符 因此,如果我有字符串&我最终得到了类似&;amp和屏幕的输出只是&我认为您需要原始方法: <%= raw @string %> 同样,您也可以使用html\u-safe html_safe实际上是将字符串“设置”为html安全的(比这稍微复杂一点,但基本上就是这样)。通

因此,我有一个数据库表,存储预先转义的文本字符串(不要问我为什么…我不知道),我需要将其作为原始字符串放在页面上。所有的rails输出函数似乎都没有输出

将在打印到屏幕之前转义字符串的特殊字符


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

我认为您需要
原始方法:

<%= raw @string %>

同样,您也可以使用html\u-safe

html_safe实际上是将字符串“设置”为html安全的(比这稍微复杂一点,但基本上就是这样)。通过这种方式,您可以随意从助手或模型返回HTML安全字符串

h只能从控制器或视图中使用,因为它来自辅助对象。它将强制转义输出。它并不是真的不推荐使用,但您很可能不再使用它:唯一的用法是“还原”html_安全声明,这很不寻常

在表达式前面加上raw实际上相当于在其上调用html_safe,但与h一样,它是在助手上声明的,因此只能在控制器和视图上使用


这里有一个关于SafeBuffer(执行html_安全魔法的类)如何工作的很好的解释:

它确实可能是重复的,但是在你发布它之前我找不到它。谢谢