Использование kramdown в Rails 3 - PullRequest
       2

Использование kramdown в Rails 3

2 голосов
/ 22 октября 2010

Я пытаюсь добавить немного стилей Markdown в мое блог-приложение на 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

Что я делаю не так?

1 Ответ

10 голосов
/ 30 октября 2010

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

Получил это, просто добавив в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...