请帮助解决问题。
在 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时,你应该跳过用户生成:
rails generate active_admin:install --skip-users
或者告诉 AD 使用另一个型号名称:
rails g active_admin:install User
此外,还应考虑将单个表用于用户模型。如果您需要单独的用户,您可以:
添加一些字段来定义您的管理员用户:
add_column :users, :is_admin, :boolean, default: false
或者为用户创建角色
class User < ActiveRecord::Base
belongs_to :role
end
class Role < ActiveRecord::Base
has_many :users
end
或创建性传播感染
class Admin < User
# other code here
end
安装时告诉activeadmin
user model
的名称,即rails g active_admin:install User
这将指示 activeadmin 使用现有模型。
欲了解更多信息,请访问活动管理员网站