我刚升级到Rails 5.2,并且在JsonWebToken
的{{1}}文件夹中使用类app/lib
时,在开发模式下遇到了以下问题。
ApplicationController
按照here列出的说明,我有以下值得注意的事情:
NameError - uninitialized constant ApplicationController::JsonWebToken:
文件夹中的文件似乎是自动需要的,因此我在require
的顶部不再有ApplicationController
。app
中有development.rb
。在我的config.eager_load = false
中,我有以下急切的自动加载代码:
application.rb
如果删除autoloads lib & policy folder during production
config.eager_load_paths << Rails.root.join('lib')
config.eager_load_paths << Rails.root.join('policies')
#autoloads lib & policy folder during development
config.autoload_paths << Rails.root.join('lib')
config.autoload_paths << Rails.root.join('policies')
,则必须在bootsnap
的顶部添加require 'JsonWebToken'
,然后一切正常。 Bootsnap不喜欢顶部的那条require语句。
我不确定在Rails 5.2中创建或使用自己的类以及进行正确设置的正确方法,以便在开发和生产中正确加载它们。我已经阅读过Rails文档,但还不清楚。