Rails 5.2:之前没有插入这样的中间件:“Warden :: Manager”

时间:2017-12-10 17:38:31

标签: devise ruby-on-rails-5 apartment-gem

尝试为升级到Rails 5.2 beta2的应用程序运行本地rails服务器时出现此错误:

  

gems / actionpack-5.2.0.beta2 / lib / action_dispatch / middleware / stack.rb:108:在`assert_index'中:之前没有要插入的中间件:“Warden :: Manager”(RuntimeError)

我正在使用Devise。

更新 错误与Devise on Rails 5.2的公寓宝石有关。 这行在initializers / apartment.rb

Rails.application.config.middleware.insert_before 'Warden::Manager', 'Apartment::Elevators::Subdomain'

似乎有关系。它适用于Rails 4.10

1 个答案:

答案 0 :(得分:0)

通过更改类名字符串以引用公寓初始值设定项中的实际类来解决此问题:

Rails.application.config.middleware.use Apartment::Elevators::Subdomain
Rails.application.config.middleware.insert_before Warden::Manager, Apartment::Elevators::Subdomain