nil:NilClass 的 Sidekiq Web 未定义方法“failure_app”失败

Sidekiq Web Fails undefined method `failure_app' for nil:NilClass

我按如下方式安装了 Sidekiq:

  require 'sidekiq/web'
  Sidekiq::Web.set :sessions, false

  authenticate :admin do
    mount Sidekiq::Web => '/admin/sidekiq'
  end

现在,当我尝试访问 Sidekiq web 时失败了 - 这是本地的并且正在生产中。

NoMethodError at /unauthenticated
undefined method `failure_app' for nil:NilClass

failure_appdevise (4.7.1) lib/devise/delegator.rb

def failure_app(env)
  app = env["warden.options"] &&
    (scope = env["warden.options"][:scope]) &&
    Devise.mappings[scope.to_sym].failure_app
  app || Devise::FailureApp
end

偶然发现了这个:

https://github.com/mperham/sidekiq/issues/2963#issuecomment-219590441

  devise_for :admin_users, ActiveAdmin::Devise.config

  authenticate :admin_user do
    mount Sidekiq::Web => '/admin/sidekiq'
  end

我的代码有两个错误:

  1. 我试图通过 :admin 而非 :admin_user
  2. 验证 Sidekiq
  3. 注意单数 :admin_user - 当我终于找出#1 时我仍然有复数 ‍♂️