Как добавить css -класса в белый список? - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть строка с тегами html:

html = '</span class="repository-content"> ... </span>'

Мне нужно разрешить только определенное c имя для класса css. Я использую gem sanitize .
Этот код хорошо работает и позволяет использовать любое имя для класса css:

Sanitize.fragment(
  html,
  elements: ['span'],
  attributes: { 'span' => ['class'] }
)

Но нужно разрешить только класс repository-content. Любое другое имя класса не должно проходить.
Как это можно сделать? любое предложение

1 Ответ

0 голосов
/ 02 апреля 2020

Если вместо ввода html вы вводите часть ... и строите span следующим образом:

content_tag(:span, ..., class: "repository-content")

, тогда вы можете написать ruby для обработки логики c что делать, если класс не "repository-content".

Возможно, вам придется очистить ..., но вам, вероятно, не придется очищать вывод content_tag.

...