Когда пользователь публикует комментарий на моем сайте, я запускаю его через дезинфицированный модуль форматирования уценки на серверной части, а затем отображаю его на сайте.
Однако это приводит к тому, что знаки «меньше» и «больше» (<
и >
) появляются со своими HTML-кодами (<
и &rt;
) в примерах кода пользователя (которые помечаются тегами <pre>
и <code>
). Скобки правильно отображаются вне кода, но как исправить это, чтобы они правильно отображались внутри кода?
Короче говоря, я хочу, чтобы теперь это выглядело так:
if(a < b)
Чтобы отображаться как:
if(a < b)
Это мой код в помощнике для пометки комментария пользователя:
def comment_markdown(text)
renderer = Redcarpet::Render::HTML.new()
markdown = Redcarpet::Markdown.new(renderer)
safe_text = sanitize text, tags: %w(b i code pre br p)
markdown.render(safe_text).html_safe
end
Это называется в представлении:
<%= comment_markdown comment.text %>
comment_markdown
вызывается... откуда? Посмотреть код? - person Chowlett   schedule 09.01.2014