我正在使用rails 3.0,我有一个xml文件,我存储了我的网页内容。因此,例如,要填写给定html页面的body部分,我使用ruby中的REXML方法提取标记的内容。
我想在此XML标记中存储带有HTML标记的内容。比如说,以下是我最喜欢的内容:
<body><strong>XXX</strong></body>
我将此文本插入其转义版本中,以便XML解析器不会将其解释为某些内容。
"<strong> XXX </strong>"
运行seeds.rb文件,我正在将这些内容读入数据库并最终将其呈现为html页面。
我尝试了很多方法,我无法获得我想要的东西,即: XXX
感谢您的帮助。
答案 0 :(得分:2)
另一种易于输出的原始内容
<%== @content.body %>
与
完全相同 <%= raw @content.body %>
它只是输出原始内容的简便方法
答案 1 :(得分:0)
尝试将html放在CDATA
部分(未转义)中:
<xmlNode>
<![CDATA[
<body><strong>XXX</strong></body>
]]>
</xmlNode>
答案 2 :(得分:0)
解决了这个问题,在我的XML文件中,我将这些内容输入未转义为:
<body>
<strong>XXX</strong>
</body>
在我的seeds.rb文件中,我用:
读取节点的子节点 k.children[1].to_s
最后在控制器中,我将内容声明为.html_safe
:
<%= content_tag(:div, @content.body.html_safe) %>