Почему Rubocop не позволяет использовать html_safe или raw () Rails - PullRequest
1 голос
/ 13 февраля 2020

вот мой код, который не передает Rubocop, потому что:

Rails / OutputSafety: тегирование строки как html safe может быть угрозой безопасности.

def number_with_html_delimiter(num)
   number_with_delimiter(num)
      .gsub!(' ', content_tag(:span, "", class: "numbers-delimiter")).html_safe
end

Мне нужно поставить пользовательский диапазон с некоторыми css, чтобы поставить пробелы в HTML, и когда я удаляю html_safe, он не работает.

Пожалуйста, помогите, заранее спасибо

1 Ответ

0 голосов
/ 13 февраля 2020

html_safe и raw() не являются безопасными в целях безопасности. Вы можете отключить rubocop для html_safe (или raw), используя # rubocop:disable Rails/OutputSafety и # 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...