阻止管理员删除其他管理员

时间:2014-08-18 12:37:56

标签: ruby-on-rails cancan

这是一个我尚未遇到的问题,但我觉得我会这样做。

这是我的能力档案:

user ||= User.create # create random name here

if user.has_role? :admin
    can :manage, User   
end 

如果管理员只是角色为admin的用户实例。所以,这意味着管理员将能够删除其他管理员?如何阻止这种情况发生并为此任务创建一个超级拉丁?

1 个答案:

答案 0 :(得分:1)

尝试这样的约束,

if user.has_role? :admin
    can :manage, User, !has_role?(:admin)
end