这是我没有通过 Rubocop 的代码,因为:
Rails/OutputSafety: Tagging a string as html safe may be a security risk.
def number_with_html_delimiter(num)
number_with_delimiter(num)
.gsub!(' ', content_tag(:span, "", class: "numbers-delimiter")).html_safe
end
我需要用一些 css 放置一个自定义跨度以将空格放入 HTML 中,当我删除 html_safe 时它不起作用。
请帮助,在此先感谢
最佳答案
html_safe
和 raw()
出于安全目的并不安全。您可以使用 # rubocop:disable Rails/OutputSafety
和 为
在您使用 html_safe
(或 raw
)禁用 rubocop
># rubocop:enable Rails/OutputSafetyhtml_safe
(或 raw
)方法的代码之前和之后。
# rubocop:disable Rails/OutputSafety
def number_with_html_delimiter(num)
number_with_delimiter(num)
.gsub!(' ', content_tag(:span, "", class: "numbers-delimiter")).html_safe
end
#rubocop:enable Rails/OutputSafety
关于ruby-on-rails - 为什么 Rubocop 不允许 html_safe 或 raw() Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60213803/