在捆绑安装后,Rails 3 Gemfile Gems无法加载

时间:2013-05-12 03:30:10

标签: ruby-on-rails ruby-on-rails-3 gem redcarpet

我正在使用Ruby v2.0.0在Rails 3中编写一个应用程序。

我在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

我能做些什么才能让这个工作?我对这个问题感到困惑。

编辑:

我还在rails console中测试了Redcarpet:

$ 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 个答案:

答案 0 :(得分:2)

Ruby正试图在PostsHelper命名空间中找到Redcarpet。使用::Redcarpet将其提升到全局命名空间