以前,我的中间件放在lib/ middleware / my _middle_ware.rb下
但是在这样做的时候,
config.middleware.use MyMiddleWare
我收到一个
NameError: uninitialized constant
rails在哪里寻找中间件?
发布于 2017-06-22 14:25:57
看起来rails并没有在寻找它。
为了让它正常工作,我必须执行以下操作。
Dir["./lib/middleware/*.rb"].each do |file|
require file
end
发布于 2017-06-22 01:39:04
我相信您希望将中间件添加到config/application.rb
或config/environments
文件中。
config.middleware.use MyMiddleWare
这应该是可行的,并将MyMiddleWare
附加到中间件堆栈的底部。
发布于 2019-09-25 12:14:11
创建一个文件夹app/middlewares
,并在该文件夹中创建您的中间件文件。
但不幸的是,即使我在Rails v5.2.2
中添加了加载路径,也无法加载app/middleware
文件夹。
config.autoload_paths << "#{Rails.root}/app/middlewares"
config.eager_load_paths << "#{Rails.root}/app/middlewares"
因此您可以显式地使用require,如下所示,在application.rb
中添加下面这一行
require_relative '../app/middlewares/my_middleware'
和加载中间件:
config.middleware.use MyMiddleware
并调用rake middleware
查看中间件堆栈。
https://stackoverflow.com/questions/44687983
复制相似问题