HTML_SAFE разрешает все, кроме <span style = "font-size: TAG
Как запретить изменение размера шрифта в html_safe rails 3
У меня есть сокращенное описание статьи, и я хочу запретить большие шрифты в режиме отображения, когда пользователь вводит большой размер шрифта с помощью редактора tinymce.
= truncate(event.description.html_safe, :length => 110, :omission => "...")
Как я могу это сделать?
1 ответ
Вы хотите использовать sanitize
помощник, прежде чем пометить его как html_safe. К сожалению, в этом случае функциональность черного списка была удалена, поэтому вам нужно будет перечислить буквально все нужные вам атрибуты, в дополнение к значениям по умолчанию. Может быть проще использовать регулярное выражение для удаления рассматриваемого атрибута.
Кроме того, для чего это стоит, raw(event.description)
делает так же, как event.description.html_safe
, но не будет взорваться на нулевом значении (не уверен, каковы ваши правила проверки), так что это, как правило, предпочтительнее.
Редактировать:
Пример использования Sanitize (с http://apidock.com/rails/v3.2.8/ActionView/Helpers/SanitizeHelper/sanitize):
truncate( raw( sanitize(event.description, :tags => %w(table tr td), :attributes => %w(id class style) ) ), :length => 110, :omission => "...")
Примечание. Подобное усечение HTML может привести к некоторым странным и трудно отслеживаемым ошибкам из-за создания недопустимого HTML из-за обрезанных конечных тегов.