Rails 4:仅针对特定标签的html_safe

时间:2013-09-18 14:35:44

标签: ruby-on-rails ruby ruby-on-rails-4

我想允许一些特定的标签,如(<br>),但让rails继续逃避其他标签。 Html_safe似乎没有任何参数。最顺利的方法是什么?

2 个答案:

答案 0 :(得分:20)

  

清理帮助程序将对所有标记进行html编码并删除所有未明确允许的属性。

sanitize @article.body, :tags => %w(br)

链接到API Docs

答案 1 :(得分:0)

在我的情况下,我想清理一个特定的字符串。我做到了:

white_list_sanitizer = Rails::Html::WhiteListSanitizer.new
my_string = white_list_sanitizer.sanitize(my_string, tags: %w(br))

如果您希望标签仅包含允许的属性,请执行以下操作:

my_string = white_list_sanitizer.sanitize(my_string, tags: %w(meta), attributes: %w(name content))

非常易于使用且功能强大的解决方案。

有关White List Sanitizer的更多信息。