我有一个分层的用户角色模型,超级用户 > 管理员 > 其他用户。(我正在使用 cancan 来实现这一点)超级用户应该能够访问所有其他用户的个人资料,但管理员应该只能访问他创建的用户的用户个人资料。是否可以像对帖子/评论所做的那样分配已创建用户的所有权?我的能力文件目前如下所示:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
if user.status == "Super User"
can :manage, :all
elsif user.status == "Admin"
can :create, User
can :show, User, :id => user.id
can :update, User, :id => user.id
end