5

我正在为我的用户模型使用设计。我也在使用 ActiveAdmin,它也将 Devise 用于 AdminUser 模型。

我可以使用彼此独立的 admin_user 和用户登录,但我注意到如果我注销用户,AdminUser 也会被注销。如果我反转它并先注销 AdminUser,也会发生同样的事情。

我能做些什么来解决这个问题?

路线.rb

devise_for :admin_users, ActiveAdmin::Devise.config
devise_for :users
get "dashboard/home"

应用控制器

protected

def after_sign_in_path_for(resource)
  if resource.is_a?(User)
    stored_location_for(:user) || dashboard_home_path
  elsif resource.is_a?(AdminUser)
    stored_location_for(:admin_user) || admin_root_path(resource)
  end
end
4

1 回答 1

7

您正在寻找的是一个名为的设计配置sign_out_all_scopes

当用户注销并将其设置为 true 时,该用户的所有范围都将注销,在您的情况下包括用户和管理员。

在 devise.rb 中搜索 sign_out_all_scopes 并将其值更改为 true。

于 2012-11-13T11:28:45.073 回答