我正在使用文档(here)中显示的CustomFailure
类,以便在有人未经身份验证时重定向到我们的登录页面:
class CustomFailure < Devise::FailureApp
include Localization
def redirect_url
url_for(controller: "/public/sessions", action: :new, locale: locale_to_params(I18n.locale))
end
# You need to override respond to eliminate recall
def respond
if http_auth?
http_auth
else
redirect
end
end
end
因此,这通常会重定向到http://www.acmecorp.com/en/signin
,但使用routes.rb
中的Sidekiq面板:
authenticate :user, lambda { |u| u.super_admin? } do
require "sidekiq/web"
mount Sidekiq::Web => "/sidekiq"
end
我被重定向到http://www.acmecorp.com/sidekiq/en/signin
而不是http://www.acmecorp.com/en/signin
。重定向没有摆脱/sidekiq
部分的任何原因?
谢谢!