需要帮忙!:)
用例:管理员具有“超级管理员”角色时可以创建另一个管理员,管理员也可以创建“代理”
管理员模型的角色:
- 超级管理员
- 行政
管理员可以创建两个角色可以创建“代理”
代理可以创建“用户”,但他不能创建“代理”,并且他不应该看到其他代理创建的用户。他只有一个角色——“代理人”
现在的问题是:如何在能力中初始化“管理员”、“代理”和“用户”,因为它们是 3 个不同的模型?
class Ability
def initialize(user)
user ||= User.new # guest user (not logged in)
can :read, Photo, Photo.unowned do |photo|
photo.groups.empty?
end
end
end
注意:用户在代理下,代理在管理员下。我需要它们是不同的模型