Наш проект rails теперь использует гем ячейки.
https://github.com/trailblazer/cells
Но этот гем по умолчанию не экранирует HTML от версии 4.0.
http://trailblazer.to/gems/cells/cells4.html
Ячейки по умолчанию не экранируют HTML.Однако вы можете столкнуться с проблемами при использовании помощников Rails.Внутренне эти помощники часто слепо убегают.Это не ошибка Cells, а недостаток дизайна в Rails.
Все, что связано с #capture, вызовет проблемы - проверьте это в качестве примера.Как видите, это Рельсы, размахивающие спасательным молотом.Пожалуйста, не обвиняйте нас в побегах, где они не должны быть.Скорее откройте проблему на Rails и скажите им, чтобы их код был лучше перезаписываемым для нас.`` `
Это хорошо для скорости рендеринга, но если я пропустил использование html_escape для некоторого входного содержимого, это вызовет проблему безопасности.
<%= '<script>alert("hello")</script>' %>
В геме ячеекэтот сценарий будет вызывать проблемы с безопасностью.
Есть ли какой-нибудь способ сделать html escape по умолчанию с помощью гема ячеек, похожего на rails default.
Я пытаюсь переопределить метод рендеринга гема ячеек,но это не очень хорошая идея для обслуживания.