我正在尝试使用pygment 0.6.3和redcarpet 3.3在我的webapp上运行降价并运行。不幸的是,我在调用markdown方法时面临着一堵墙:
未初始化的常量ApplicationHelper :: Redcarpet
这是我从application_helper.rb调用的模块:
module ApplicationHelper
def markdown(content)
renderer = Redcarpet::Render::HTML.new(hard_wrap: true, filter_html: true)
options = {
autolink: true,
no_intra_emphasis: true,
disable_indented_code_blocks: true,
fenced_code_blocks: true,
lax_html_blocks: true,
strikethrough: true,
superscript: true
}
Redcarpet::Markdown.new(renderer, options).render(content).html_safe
end
end
因此我按以下方式调用此方法:
<div id= "content">
<%= markdown @post.content%>
</div>
在其他研究中,我已经做了以下事情:
我发现一些信息说我应该删除Gemfile.lock(当删除它时,它会自动弹出)。
感谢您的帮助。
编辑:添加了Gemfile
source 'https://rubygems.org'
gem 'rails', '~> 5.0.0', '>= 5.0.0.1'
gem 'sqlite3'
gem 'puma', '~> 3.0'
gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'jquery-rails'
gem 'turbolinks', '~> 5'
gem 'jbuilder', '~> 2.5'
gem 'pygments.rb', '~> 0.6.3'
gem 'redcarpet', '~> 3.3', '>= 3.3.4'
group :development, :test do
gem 'byebug', platform: :mri
end
group :development do
gem 'web-console'
gem 'listen', '~> 3.0.5'
gem 'spring'
gem 'spring-watcher-listen', '~> 2.0.0'
end
gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
答案 0 :(得分:0)
尝试在您的文件中写这个
before_save :assign_markdown_content, if: -> { content_changed? }
def assign_markdown_content
assign_attributes({
markdown_content: self.class.markdown.render(content)
})
end
答案 1 :(得分:0)
对于可能遇到此问题的所有人,即使您要实现其他功能,请点击 CTRL-C命令,关闭您的rails服务器,不要只bundle install
和rails s
。
经过一整天的努力来了解幕后发生的事情,CTRL-C感觉就像圣诞节......