Rails - 将正则表达式传递给清理方法允许的属性列表

发布于 2024-11-02 02:35:28 字数 359 浏览 8 评论 0原文

是否可以将正则表达式传递到rails3中清理方法允许的html属性列表?在我的特殊情况下,我希望允许所有以 "data-" 开头的属性

在清理调用中

sanitize(my_string, :tags => %w(div span), :attributes => my_regular_expression)

或在 application.rb 中,例如

config.action_view.sanitized_allowed_attributes = 'id', 'style', my_regular_expression

Is it possible to pass regular expression to the list of allowed html attributes for sanitize method in rails3? In my particular situation I would like to allow all attributes starting with "data-"

Either on sanitize call

sanitize(my_string, :tags => %w(div span), :attributes => my_regular_expression)

or in application.rb like

config.action_view.sanitized_allowed_attributes = 'id', 'style', my_regular_expression

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

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

发布评论

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

评论(1

洛阳烟雨空心柳 2024-11-09 02:35:29

嗯...计算机说不。

irb(main):018:0> my_string = "<div style=\"color:red;\" id=\"abcd\">abcd-def></div><span class=\"blah\">abcghi</span><a href=\"http://mylink.com/\">mylink</a>"
=> "<div style=\"color:red;\" id=\"abcd\">abcd-def></div><span class=\"blah\">abcghi</span><a href=\"http://mylink.com/\">mylink</a>"
irb(main):006:0> sanitize(my_string, :tags => %w(div span), :attributes => ['id'])
=> "<div id=\"abcd\">abcd-def></div><span>abcghi</span>mylink"
irb(main):005:0> sanitize(my_string, :tags => %w(div span), :attributes => [/id/])
=> "<div>abcd-def></div><span>abcghi</span>mylink"
irb(main):020:0> sanitize(my_string, :tags => %w(div span), :attributes => /id/)
NoMethodError: undefined method `include?' for /id/:Regexp

不过,这将是一个很棒的功能。您可以将其添加为 Rails 上的功能请求。

hmmm... computer says no.

irb(main):018:0> my_string = "<div style=\"color:red;\" id=\"abcd\">abcd-def></div><span class=\"blah\">abcghi</span><a href=\"http://mylink.com/\">mylink</a>"
=> "<div style=\"color:red;\" id=\"abcd\">abcd-def></div><span class=\"blah\">abcghi</span><a href=\"http://mylink.com/\">mylink</a>"
irb(main):006:0> sanitize(my_string, :tags => %w(div span), :attributes => ['id'])
=> "<div id=\"abcd\">abcd-def></div><span>abcghi</span>mylink"
irb(main):005:0> sanitize(my_string, :tags => %w(div span), :attributes => [/id/])
=> "<div>abcd-def></div><span>abcghi</span>mylink"
irb(main):020:0> sanitize(my_string, :tags => %w(div span), :attributes => /id/)
NoMethodError: undefined method `include?' for /id/:Regexp

Would be great feature, though. You could add it as a feature request on rails.

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