当在使用多个
标签时,ActionView::Helpers::SanitizeHelper
可能无法正常工作。这是因为
标签在HTML中是一个非常特殊的标签,它的作用是在长单词或URL中的适当位置插入换行符以防止文本溢出。
要解决这个问题,可以自定义一个新的sanitizer,将
标签添加到允许的标签列表中。以下是一个代码示例:
class CustomSanitizer < Rails::Html::SafeListSanitizer
def initialize
super
self.sanitized_tags.merge(%w(wbr))
end
end
然后,在需要使用
标签的视图文件中,将ActionView::Helpers::SanitizeHelper
替换为自定义的sanitizer,如下所示:
# app/helpers/application_helper.rb
module ApplicationHelper
def sanitize(html, options={})
sanitizer = CustomSanitizer.new
sanitizer.sanitize(html, options)
end
end
现在,当您在视图文件中使用
标签时,它将被正确地保留下来,而不会被ActionView::Helpers::SanitizeHelper
过滤掉。
希望这可以帮助到你!