我想为admin创建一个简单的重定向:false愿意转到/admin页面的用户。我使用的是ActiveAdmin和带有admin:bool标志的单个用户模型。我尝试了以下方法:
在我的AA初始化文件中
config.authentication_method = :authenticate_admin_user!
在我的应用程序控制器中
def authenticate_admin_user!
redirect_to root_path unless current_user.try(:is_admin?)
end
什么也没发生。
我还尝试在一个新的ActiveAdmin::AuthorizationAdapter
中创建这样的自定义方法,但不知道如何使用
def authorized?(action, subject = nil)
user.admin?
end
试试这个。在我的情况下,主动管理员提供current_admin_user
而不是current_user
def authenticate_admin_user!
redirect_to root_path unless current_admin_user.try(:is_admin?)
end