我在我的项目早期设置了ActiveAdmin,并使用默认的admin_users模型进行身份验证.我已经使用Devise设置了一个单独的用户模型,并且意识到合并这两个表可能会更加明智,这样管理员可以在Activeadmin和站点的前端都有管理操作.如何将ActiveAdmin配置为使用用户模型(可能有一列)标记管理员(例如,is_admin或事件权限级别以使管理员和版主)?
Rails 3.1 ActiveAdmin 0.3.3 Devise 1.4.9
解决方法
有关如何使用activeadmin的现有“用户”模型的快速代码块,答案其实很简单.在ApplicationController中:
class ApplicationController < ActionController::Base def authenticate_admin_user! #use predefined method name redirect_to '/' and return if user_signed_in? && !current_user.is_admin? authenticate_user! end def current_admin_user #use predefined method name return nil if user_signed_in? && !current_user.is_admin? current_user end end