允许使用 simple_format 帮助器使用 id 属性

发布于 2024-11-26 10:10:00 字数 486 浏览 0 评论 0原文

作为概念证明,这里首先是一些控制台输出:

ruby-1.9.2-p180 :010 > x = "<span id='c_3'>s</span>"
 => "<span id='c_3'>s</span>" 
ruby-1.9.2-p180 :011 > helper.simple_format(x)
 => "<p><span>s</span></p>"

这样做的原因是 Rails 辅助方法 simple_format 在执行的最后调用了 sanitize 方法,并且该方法去掉属性。

我知道 sanitize 将允许您指定不应删除的属性。我的问题是:是否可以通过 simple_format 以某种方式传递“白名单”属性(在本例中为 id)?

谢谢!!

As a proof of concept here's some console output first:

ruby-1.9.2-p180 :010 > x = "<span id='c_3'>s</span>"
 => "<span id='c_3'>s</span>" 
ruby-1.9.2-p180 :011 > helper.simple_format(x)
 => "<p><span>s</span></p>"

The reason for this is that the Rails helper method simple_format call the sanitize method at the very end of it's execution and that method strips out attributes.

I know that sanitize will allow you to specify attributes that should not be stripped. My question is: Is it possible to somehow pass the "white listed" attribute (id in this case) THROUGH simple_format ?

thanks!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

何必那么矫情 2024-12-03 10:10:00
simple_format(x,{}, :sanitize => false)
simple_format(x,{}, :sanitize => false)
绝影如岚 2024-12-03 10:10:00

您无法传递白名单,但可以通过执行

simple_format(x, :sanitize => false)

http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format

You cannot pass a white-list, but you can disable sanitization completely by doing

simple_format(x, :sanitize => false)

http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-simple_format

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文