2011-08-17 56 views
0

我正在Ruby Sinatra工作。在Ruby中,我创建了erb页面可以访问的nokogiri对象(@xml)。在帖子中,我需要能够访问相同的对象,所以我创建了一个隐藏变量,像这样:html中的隐藏变量

<input type="hidden" name="xml" value= '<%= @xml %>' > 

然而,在某些情况下,页面显示来自@xml对象一堆文字,我不想显示。作为解决方法,我将其移出屏幕,如下所示:

<div style="position:absolute; left:5000px; top:200px;"> 
    <input type="hidden" name="xml" value= '<%= @xml %>' > 
</div> 

但是必须有更好的方法。建议?谢谢。

+0

这是否更适合保存到数据库,然后在帖子中查找ID? – Olives

回答

1

问题可能出在@xml对象的内容上。在将变量打印到值属性之前,应该对特殊字符进行编码。

如果@xml对象包含单引号,则浏览器会将其解释为值结束属性。

查看Ruby的HTMLentities库。