Добавить пользовательские теги в sanitized_allowed_tags без замены значений по умолчанию - PullRequest
0 голосов
/ 26 ноября 2018

Я хотел бы добавить пользовательские теги к ActionView::Base.sanitized_allowed_tags для sanitize() метода.

Как написано в документации , я должен добавить параметр конфигурации в application.rb, напримерниже, чтобы добавить новые пользовательские теги:

# In config/application.rb
config.action_view.sanitized_allowed_tags = ['strong', 'em', 'a']

Но когда я устанавливаю новый тег, такой как:

config.action_view.sanitized_allowed_tags = ["nav"]

Он заменяет стандартные теги ["strong", "em", "b", "i", ...] только ["nav"].Единственный обходной путь, который я нашел, состоит в том, чтобы повторно объявить весь массив по умолчанию с новыми объединенными тегами:

config.action_view.sanitized_allowed_tags = ["nav", "strong", "em", "b", "i", ...]

Я также попытался config.action_view.sanitized_allowed_tags += ["nav"], но по умолчанию sanitized_allowed_tags равен нулю.

Есть лучший способ добавить теги без повторного объявления значений по умолчанию на уровне приложения?

Я использую Ruby on Rails v5.2

1 Ответ

0 голосов
/ 26 ноября 2018

Вы можете сделать это в блоке after_initialize:

config.after_initialize do
  ActionView::Base.sanitized_allowed_tags.add 'nav'
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...