如何结合这两个系统的用户?

how to combine the two systems are the users?

请帮忙解决问题

在 rails4 上我安装了 gem 'devise'。在我安装 gem 'activeadmin' 之后。结果我有 2 个用户系统:

create_table "admin_users", force: :cascade do |t|
  t.string   "email",                  default: "", null: false
  t.string   "encrypted_password",     default: "", null: false
  t.string   "reset_password_token"
  t.datetime "reset_password_sent_at"
  t.datetime "remember_created_at"
  t.integer  "sign_in_count",          default: 0,  null: false
  t.datetime "current_sign_in_at"
  t.datetime "last_sign_in_at"
  t.string   "current_sign_in_ip"
  t.string   "last_sign_in_ip"
  t.datetime "created_at"
  t.datetime "updated_at"
end

create_table "users", force: :cascade do |t|
  t.string   "email",                  default: "", null: false
  t.string   "encrypted_password",     default: "", null: false
  t.string   "reset_password_token"
  t.datetime "reset_password_sent_at"
  t.datetime "remember_created_at"
  t.integer  "sign_in_count",          default: 0,  null: false
  t.datetime "current_sign_in_at"
  t.datetime "last_sign_in_at"
  t.string   "current_sign_in_ip"
  t.string   "last_sign_in_ip"
  t.datetime "created_at"
  t.datetime "updated_at"
end

为了进入管理面板,我使用 admin_users 登录名和密码。为了进入网站的私人部分,我使用用户登录名和密码。

但我需要你 admin_users 能够进入网站的私人部分。

你应该在安装时告诉 activeadmin user model 的名称,即 rails g active_admin:install User

这会指示 activeadmin 使用现有模型。

更多信息请访问activeadmin site

当您安装 ActiveAdmin 时,您应该跳过用户生成:

rails generate active_admin:install --skip-users

或告诉 AD 使用其他型号名称:

rails g active_admin:install User

您还应该考虑对用户模型使用单个 table。如果您需要单独的用户,您可以:

添加一些字段来定义您的管理员用户:

add_column :users, :is_admin, :boolean, default: false

或为用户创建角色

class User < ActiveRecord::Base
  belongs_to :role
end

class Role < ActiveRecord::Base
  has_many :users
end

或创建 STI

class Admin < User
  # other code here
end