ruby-on-rails – Rails – 输出内容,消毒或<%= h?

ruby-on-rails – Rails – 输出内容,消毒或<%= h?,第1张

概述我最近制作了一个小型rails3应用程序来转换用另一种语言编写的旧cms.迁移内容后,我在从数据库输出内容时遇到问题. @ content.desc字段有时会有html.目前我能让它工作的唯一方法是: <%= sanitize content.desc %> 但这是最好的方法吗?当我使用<%= h @ content.desc%>我仍然可以看到html标签.当我使用<%= simple_forma 我最近制作了一个小型rails3应用程序来转换用另一种语言编写的旧CMS.迁移内容后,我在从数据库输出内容时遇到问题.

@ content.desc字段有时会有HTML.目前我能让它工作的唯一方法是:

<%= sanitize content.desc %>

但这是最好的方法吗?当我使用<%= h @ content.desc%>我仍然可以看到HTML标签.当我使用<%= simple_format @ content.desc%>我变得邪恶的间距.

在输出内容的同时,我可以看到所有选项的权威指南吗?我试图搜索,但无法改变任何东西(rails newb,我知道).

解决方法 默认情况下,任何未标记为“安全”的字符串都将在Rails 3中进行HTML转义.某些方法(如sanitize,h,link_to和许多其他帮助程序)将返回安全字符串,从而允许它们按字面编写.有关详细信息,请参阅 this blog post.

如果您确定@ content.desc中包含的HTML是安全的,您可以像这样标记它:<%= @ content.desc.HTML_safe%>.

总结

以上是内存溢出为你收集整理的ruby-on-rails – Rails – 输出内容,消毒或<%= h?全部内容,希望文章能够帮你解决ruby-on-rails – Rails – 输出内容,消毒或<%= h?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1229221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存