Rails 3 Gemfile Gems не загружаются после установки пакета

Я пишу приложение в Rails 3 с Ruby v2.0.0.

У меня есть помощник в app/helpers/posts_helper.rb:

module PostsHelper
  def markdown(text)
    @redcarpet = Redcarpet::Markdown.new(Redcarpet::Render::HTML, {fenced_code_blocks: true}) unless @redcarpet
    @redcarpet.render text
  end
end

мой Gemfile содержит gem 'redcarpet', '~> 2.2' и я побежал bundle install с успехом. Тем не менее, я получаю эту ошибку всякий раз, когда я пытаюсь загрузить страницу, которая использует этот помощник:

uninitialized constant PostsHelper::Redcarpet

Что я могу сделать, чтобы заставить это работать? Я озадачен этой проблемой.

Редактировать:

Я также проверил Redcarpet в rails console:

$ bundle exec rails console
Loading development environment (Rails 3.2.13)
irb(main):001:0> Redcarpet::Markdown.new(Redcarpet::Render::HTML).render('text *markdownified*')
=> "<p>text <em>markdownified</em></p>\n"

Так что это работает в консоли, но не в моем помощнике (или контроллере, я тоже это пробовал).

1 ответ

Решение

Руби пытается найти Redcarpet в пространстве имен PostsHelper. использование ::Redcarpet поднять это в глобальном пространстве имен

Другие вопросы по тегам