我对声明性授权有一点问题。我有一个具有 has_and_belongs_to_many 关联的用户和角色模型。
我在我的 authorization_rules.rb 中创建了一个名为 :moderator 的角色
具有角色版主角色的用户是否有可能只获得分配了版主角色的用户?--> User.with_permissions_to(:index)
我认为有可能是这样的:
role :moderator do
has_permission_on :users, :to => :index do
if_attribute :roles => contains { ????? }
end
end
我还在我的用户模型中创建了一个 named_scope,因为我认为它会有所帮助......
class User
has_and_belongs_to_many :roles
named_scope :by_role, lambda { |role|
{
:include => :roles,
:conditions => {"roles.name" => role}
}
}
end
有谁知道是否可以使用 declarative_authorization 来做到这一点?
谢谢你的帮助!