2010-10-22 2 views
2

Я пытаюсь добавить стиль Markdown в мое приложение для блогов Rails 3. Это должно быть что-то простое, но я не могу заставить его работать.Использование kramdown в Rails 3

kramdown У меня есть в моей Gemfile:

gem 'kramdown' 

Я побежал bundle install. У меня есть помощник приложение под названием kramdown

module ApplicationHelper 
    def kramdown(text) 
    require 'kramdown' 
    return Kramdown::Document.new(text).to_html 
    end 
end 

И на мой взгляд, сценарий:

<%= kramdown(@post.body) %> 

я получаю сообщение об ошибке:

нет такого файла для загрузки - kramdown

Что я делаю неправильно?

ответ

9

Я только что начал экспериментировать с Kramdown.

Получил его, просто добавив в gem-файл, установив пакет, а затем поставив на мой взгляд следующее.

<%= Kramdown::Document.new(@project.body).to_html %> 

Reckon ваша проблема является требует '' kramdown линии. С Rails это, вероятно, добавляется за кулисами. Я подозреваю, что документация kramdown больше ориентирована на Ruby, чем на Rails. Серверу dev также нужно перезапустить.

Используя ваше предложение о создании помощника, для меня работает следующее.

помощник Применение:

def kramdown(text) 
    return Kramdown::Document.new(text).to_html 
end 

Вид:

<%= kramdown @project.body %> 

Я столкнулся с проблемой, хотя. Весь HTML-код kramdown был виден, так как Rails делал HTML безопасным. Чтобы решить эту проблему, я добавил санитацию к вспомогательной функции:

def kramdown(text) 
    return sanitize Kramdown::Document.new(text).to_html 
end 
+0

Я думаю, что, возможно, я забыл перезапустить сервер dev. – Andrew

+2

Тогда вы должны принять его ответ. – DNJohnson

Смежные вопросы