我的 Rails 应用程序中有带有 CanCan 支持的 Rails Admin。我对一个问题感到困惑。CanCan 如何知道登录的用户是什么?例如,我的用户可以具有不同的角色,并且通过 CanCan 我为每个表分配特定访问权限的角色。当我去时localhost:3000/admin
,我收到错误
CanCan::AccessDenied in RailsAdmin::MainController#dashboard
我的Ability.rb
档案
def initialize(user)
if user and user.role.eql? :super_admin
can :manage, :all # allow superadmins to do anything
elsif user and user.role.eql? :admin
can :manage, [Location, School] # allow admins to manage only Locations and Schools
end
end
那么我该怎么做才能让用户能够登录 Rails Admin?我必须手动创建它吗?