0

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

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

因此,如果我有字符串&amp; ,我最终会得到类似的东西&amp;amp;,并且屏幕的输出很简单&amp;

4

2 回答 2

0

我想你想要的raw方法:

<%= raw @string %>
于 2013-10-09T13:27:48.807 回答
0

您也可以使用 html_safe。

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

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

在你的表达式前面加上 raw 实际上等同于在其上调用 html_safe,但是,就像 h 一样,是在帮助器上声明的,所以它只能在控制器和视图上使用。

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

于 2013-10-09T13:32:12.300 回答