我正在使用
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控制台中测试了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"
所以它在控制台中工作,而不是在我的助手(或控制器,我也尝试过).
最佳答案 Ruby正试图在PostsHelper命名空间中找到Redcarpet.使用:: Redcarpet将其提升到全局命名空间