2011-09-25 89 views
1

目前在Learning Rails Screencasts http://www.buildingwebapps.com/learningrails上进行必要的更改,以便在Rails 3中工作。但是,在第十集中,我在将HTML代码从数据库中提取出来时遇到了问题。教程中的Page模型有一个body字段,每个页面的html都放在这个字段中。查看器控制器的'show'方法从数据库中抓取页面,并将@ page.body的内容放入视图中。然而,当我在浏览器中查看html源代码时,我的标签被渲染为< h1; @gt。有什么办法可以解决这个问题吗?Rails 3 HTML注入

仅供参考,我的 '秀' 的观点是如下:

<%= @page.body %> 

回答

3

试试这个:

<%= raw(@page.body) %> 

原始方法防止逃逸HTML字符。

+0

或'<%= @ page.body.html_safe%>'。虽然在这种情况下,'生'似乎更好。 (http://stackoverflow.com/questions/4251284/raw-vs-html-safe-vs-h-to-unescape-html) –

+0

谢谢,工作过的魅力 –