Rails 5.2和Bootsnap:使用app / lib文件时出现NameError

时间:2018-07-26 00:21:02

标签: ruby-on-rails ruby-on-rails-5 ruby-on-rails-5.2

我刚升级到Rails 5.2,并且在JsonWebToken的{​​{1}}文件夹中使用类app/lib时,在开发模式下遇到了以下问题。

ApplicationController

按照here列出的说明,我有以下值得注意的事情:

  1. 我正在使用Rails 5.2默认提供的引导程序
  2. 由于NameError - uninitialized constant ApplicationController::JsonWebToken: 文件夹中的文件似乎是自动需要的,因此我在require的顶部不再有ApplicationController
  3. 我的app中有development.rb
  4. 在我的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文档,但还不清楚。

0 个答案:

没有答案