3

我尝试从 Rails 3.0.23 升级到 3.2.13,现在我在阻止服务器启动时出现错误,如下所示:

/Users/hamiltonchapman/Projects/project-static/lib/markdown_handler.rb:3:in `<top (required)>': uninitialized constant ActionView::Template::Handler (NameError)
  from /Users/hamiltonchapman/Projects/project-static/config/environment.rb:9:in `<top (required)>'
  from /Users/hamiltonchapman/Projects/project-static/config.ru:5:in `require'
  from /Users/hamiltonchapman/Projects/project-static/config.ru:5:in `block in <main>'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize'
  from /Users/hamiltonchapman/Projects/project-static/config.ru:in `new'
  from /Users/hamiltonchapman/Projects/project-static/config.ru:in `<main>'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/rack-1.4.5/lib/rack/builder.rb:40:in `eval'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/rack-1.4.5/lib/rack/builder.rb:40:in `parse_file'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/rack-1.4.5/lib/rack/server.rb:200:in `app'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/railties-3.2.13/lib/rails/commands/server.rb:46:in `app'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/rack-1.4.5/lib/rack/server.rb:304:in `wrapped_app'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/rack-1.4.5/lib/rack/server.rb:254:in `start'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/railties-3.2.13/lib/rails/commands/server.rb:70:in `start'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/railties-3.2.13/lib/rails/commands.rb:55:in `block in <top (required)>'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap'
  from /Users/hamiltonchapman/.rvm/gems/ruby-2.1.1/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>'
  from script/rails:9:in `require'
  from script/rails:9:in `<main>'

导致这种情况的代码如下所示:

require 'kramdown'

class MarkdownHandler < ActionView::Template::Handler
  def self.call(template)
    new.render(template, nil)
  end

  def render(template, local_assigns)
    %(Kramdown::Document.new(
      ERB.new(#{template.source.inspect}).result(binding)
    ).to_html.html_safe)
  end
end

ActionView::Template.register_template_handler :emd, MarkdownHandler
ActionView::Template.register_template_handler :md, MarkdownHandler

但是,如果我只是删除继承,那么服务器会正​​常启动,并且所有降价文件都会按预期呈现。

关于出了什么问题的任何想法?

4

0 回答 0