0
我正在尝试使用declarative_authorization gem创建项目管理员和项目协作者角色。Rails declarative_authorization project_admin角色
我有一个名为'合作者'的表,它将用户保存到项目映射中。
型号:
项目
has_many :collaborators
has_many :users, :through => :collaborators
用户
has_many :collaborators
has_many :projects, :through => :collaborators
合作者
belongs_to :user
belongs_to :project
我需要定义project_admin和project_c的DSL一些指导作者角色。 我想出了以下内容:
authorization do
role :guest do
has_permission_on :users, :to => [:read]
end
role :project_admin do
has_permission_on :projects, :to => :manage do
if_attribute :project_admin => true
end
end
role :admin do
has_permission_on :users, :to => [:delete]
end
end
privileges do
privilege :manage do
includes :create, :read, :update, :delete
end
end
欣赏任何建议/帮助。
谢谢!