给 Redmine 打补丁时出现未初始化的常量

uninitialized constant occured when patch to Redmine

我为我的 Redmine(Ver4.0.0) 打补丁 this 补丁文件。

然后,执行

bundle
bundle exec rake db:migrate RAILS_ENV=production

并重新启动 redmine。

但是当我将文件附加到工单时发生了以下错误。

[ActiveJob] [ExtractFulltextJob] [3daafa4a-4d90-43ce-a065-c4257176ca0f] Error performing ExtractFulltextJob (Job ID: 3daafa4a-4d90-43ce-a065-c4257176ca0f) from Async(text_extraction) in 9.77ms: NameError (uninitialized constant Redmine::TextExtractor):
/home/redmine/redmine/app/jobs/extract_fulltext_job.rb:7:in `perform'

我检查了 redmine/config/application.rb

config.autoload_paths += %W(#{config.root}/lib)

redmine/lib/redmine/text_extractor.rb

module Redmine
  class TextExtractor
  ....

但我无法理解为什么会出现 uninitialized constant 错误。

如何打补丁this

在rails5中,生产环境默认不会自动加载。 所以,我添加 config.enable_dependency_loading = true 然后工作正常。