如何结合这两个系统的用户?
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
请帮忙解决问题
在 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