Devise - 注销一个命名空间,注销所有命名空间

Devise - Logging out of one Namespace, logs out of all Namespaces

我的应用有 "users" 作为主应用,"admin_users" 和 /admin 命名空间。

当我以 admin_user 身份登录 /admin 命名空间并单击 "log out" - Devise 将我从两个命名空间中注销。我如何确保 Devise 只将我从该命名空间中注销?

Routes.rb

  devise_for :users, skip: :all
  as :user do
    get 'signin',        to: 'devise/sessions#new',       as: :new_user_session
    post 'signin',       to: 'devise/sessions#create',    as: :user_session
    delete 'signout',    to: 'devise/sessions#destroy',   as: :destroy_user_session
  end

  devise_for :admins, skip: :all
  as :admin do
    get 'admin/signin',        to: 'admin/devise/sessions#new', as: :new_admin_session
    post 'admin/signin',       to: 'admin/devise/sessions#create', as: :admin_session
    delete 'admin/signout',    to: 'admin/devise/sessions#destroy', as: :destroy_admin_session
  end

  authenticate :admin do
    namespace :admin do
       ...
    end
  end

config/initializers/devise.rb中设置config.sign_out_all_scopes = false

  # Set this configuration to false if you want /users/sign_out to sign out
  # only the current scope. By default, Devise signs out all scopes.
  config.sign_out_all_scopes = false