Я только начал экспериментировать с Крамдауном.
Получил это, просто добавив в gem-файл, установил пакет, а затем поставил следующее:
<%= Kramdown::Document.new(@project.body).to_html %>
Считайте, что ваша проблема в строке require 'kramdown' . С Rails это возможно добавляется за кулисы. Я подозреваю, что документация kramdown больше ориентирована на Ruby, чем на Rails. Сервер dev тоже нуждался в перезагрузке.
Используя ваше предложение сделать помощника, у меня работает следующее.
Помощник по применению:
def kramdown(text)
return Kramdown::Document.new(text).to_html
end
Вид:
<%= kramdown @project.body %>
Хотя я столкнулся с проблемой. Весь HTML-код kramdown был виден, так как Rails делал HTML-код безопасным. Чтобы решить эту проблему, я добавил sanitize к вспомогательной функции:
def kramdown(text)
return sanitize Kramdown::Document.new(text).to_html
end