繁体   English   中英

Application_helper和ruby gem Redcarpet错误

[英]Application_helper and ruby gem Redcarpet error

我正在尝试使用pygment 0.6.3和redcarpet 3.3在我的Web应用程序上启动降价促销。 不幸的是,在调用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>

在其他研究中,我已经做了以下工作:

  • 捆绑更新
  • 捆绑安装
  • 重新启动我的服务器
  • 尝试了其他版本的pygments和redcarpet

我发现一些信息说我应该删除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]

尝试在您的文件中写入

before_save :assign_markdown_content, if: -> { content_changed? }

  def assign_markdown_content
    assign_attributes({
      markdown_content: self.class.markdown.render(content)
    })
  end

对于所有可能会遇到此问题的人,即使您要实现其他功能,也可以按CTRL-C命令 ,关闭Rails服务器,不仅bundle installrails s

经过一整天的尝试,以了解引擎盖下发生了什么,CTRL-C感觉就像圣诞节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM