这是一个我尚未遇到的问题,但我觉得我会这样做。
这是我的能力档案:
user ||= User.create # create random name here
if user.has_role? :admin
can :manage, User
end
如果管理员只是角色为admin
的用户实例。所以,这意味着管理员将能够删除其他管理员?如何阻止这种情况发生并为此任务创建一个超级拉丁?
答案 0 :(得分:1)
尝试这样的约束,
if user.has_role? :admin
can :manage, User, !has_role?(:admin)
end