以前我在lib / middleware / my_middle_ware.rb下有我的中间件
但是这样做的时候,
config.middleware.use MyMiddleWare
我收到了
NameError: uninitialized constant
rails在哪里寻找中间件?
看起来像铁路没有找到它。
我不得不做以下工作。
Dir["./lib/middleware/*.rb"].each do |file|
require file
end
我相信你想将你的中间件添加到你的config/application.rb
或你的config/environments
文件中。
config.middleware.use MyMiddleWare
这应该工作并将MyMiddleWare
附加到中间件堆栈的底部。
即使在调用'config.middleware.use'之前加载app / middleware内容之前,我认为你得到'未初始化的常量错误'。以下应该修复
config.middleware.use "MyMiddleWare"
如果上述方法不起作用,则以下其中一项可能为“否”。
Is MyMiddleWare in app/middleware/my_middle_ware.rb ?
Is MyMiddleWare in lib/my_middle_ware.rb ?
将config/application.rb
中的中间件替换为config/environment/{environment}
的字符串作为常量修复了我的问题