我从一个 XML 文件中提取数据,该文件以双重编码的 HTML 形式出现,我可以使用raw
、h
或String.html_safe
. 将这些方法中的任何一个加倍似乎都不会进一步解码,因此当我在视图中打印字符串时,它会呈现为编码的 HTML。
例如,我可能会得到字符串:
@paragraph = <p>This is a Paragraph.</p>
当我打印时,<%= @paragraph %>
我会<p>This is a Paragraph.</p>
显示在我的浏览器中。打印<%= raw @paragraph %>
渲染<p>This is a Paragraph.</p>
。
到目前为止,正如预期的那样。但是现在当我再次尝试解码时:<%= raw (raw @paragraph) %>
我得到<p>This is a Paragraph.</p>
. 无论我调用多少次raw
或其他两种方法中的任何一种,我都会继续获得编码的 HTML。
我正在寻找的当然是:
这是一个段落。