ruby-on-rails - 为什么 Rubocop 不允许 html_safe 或 raw() Rails

标签 ruby-on-rails ruby rubocop

这是我没有通过 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_saferaw() 出于安全目的并不安全。您可以使用 # rubocop:disable Rails/OutputSafetyhtml_safe(或 raw)禁用 rubocop ># rubocop:enable Rails/OutputSafety 在您使用 html_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/

相关文章:

javascript - 如何在 JavaScript 中包含 Ruby 字符串

ruby-on-rails - 助手在 rails 3(.2) 中使用大量内存

sublimetext3 - 如何使 Sublime Text 3 使用 rubocop-rspec (`require' : cannot load such file error)

ruby-on-rails-3 - 'C : Carriage return character detected' for 'module WareHouse' in Rubocop

javascript - Jquery AJAX 调用未找到 Rails 路线

ruby-on-rails - Rails 3 - 表单验证 - 将逻辑移动到回调或观察者?

mysql - 如何将新记录添加到 Rails 控制台上同一模型内创建的另一个表中?

ruby - 为什么 block 不像方法那样继承调用者的 $SAFE 级别?

ruby - 从子类访问实例变量

ruby-on-rails - Ruby 循环和感知复杂度