how*_*wdy 3 html activerecord ruby-on-rails-3
我提交了一个表单,在SQL数据库表中创建单行,作为博客条目:
<p>This is a paragraph.</p>
结果,当我通过Rails的ActiveRecord查询显示时,它呈现如下:
<p>This is a paragraph.</p>
这是代码,当我在浏览器中查看源代码时:
<p>This is a paragraph.</p>
我该如何解决这个问题?或者我只需要通过Javascript 转换<和>?
谢谢 :)
发生的事情是字符串被HTML转义.
您可以使用html_safe它在呈现时不转义字符串.例如,<%= post.paragraph.html_safe %>.
但是,当然,如果您允许表单首先存储(不受限制的)HTML,则不建议这样做,它可能包含例如恶意JavaScript(例如,用于XSS).不用说,这是非常糟糕的做法.
重要说明在使用任何HTML 之前,应确保HTML包含允许的HTML标记的白名单html_safe.此外,您可能希望在保存表单内容时强制执行白名单(请注意,在保存时强制执行白名单不能代替在显示内容时强制执行白名单!).
您可能希望通过此StackOverflow自己的"规则"开始.
| 归档时间: |
|
| 查看次数: |
1638 次 |
| 最近记录: |