首页 > 解决方案 > ActiveAdmin admin_users 表设计用户表登录问题

问题描述

以下是我的设置

我用设计创建了一个用户表。安装活动管理员并使用正常方法并创建 admin_users 表。不,我没有使用同一张桌子。这些是不同的表(我必须这样做,因为上次这个问题被标记为重复,因为用户认为我使用了同一个表)

路由文件如下所示:

devise_for :users
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)

devise_scope :user do
 authenticated :user do
  root 'home#dashboard', as: :authenticated_root
 end

 unauthenticated do
  root 'devise/sessions#new', as: :unauthenticated_root
 end
end

现在问题是 root_path '/' 重定向正确,我能够以用户身份登录。但我无法以管理员身份登录。它会将我重定向回未经身份验证的用户的 root_path。

但奇怪的是,当我以用户身份登录时,我可以以 admin_user 身份登录。

我再次使用不同的表,admin_users 和 users

提前致谢。

标签: deviseactiveadminruby-on-rails-5.2

解决方案


我可以告诉你一个在设计中添加管理员的简单方法

$rails g migration add_admin_to_user

在数据库中

 def change
    add_column :users, :admin , :boolean , {default: false}
  end

在用户.rb

  def admin?
    admin
  end

<% if current_user && current_user.admin? %>
<% end %>

然后我确实从我想成为管理员的电子邮件中注册

然后在 rails c 中选择您希望它成为管理员的电子邮件,例如

User.last
user=User.last
user.admin=true
user
user.save

推荐阅读