declarative_authorization上的if_attribute语法问题

时间:2010-03-30 17:48:20

标签: ruby-on-rails declarative-authorization

我有一个拥有很多附属机构的组织 还有一个组织

的任务

所以我可以这样做:

m = Mission.first
m.organization.affiliations 

用户也有很多从属关系,所以我可以这样做:

u = User.first
u.affiliations

在declarative_authorization中,如果用户隶属于任务组织​​,我希望用户能够管理任务。

我正在尝试这个:

has_permission_on :missions, :to => [:manage] do
  if_attribute [:affiliations, {:mission => :organization} ]  => intersects_with {
    user.affiliations.type_admin
  }
end

但我收到错误:

[:affiliations, {:mission=>:organization}] is not a symbol

语法有什么问题?

1 个答案:

答案 0 :(得分:0)

我认为这可能适合你

has_permission_on :missions, :to => [:manage] do
  if_attribute :organization => { :affiliations => intersects_with { user.affiliates.type_admin } }
end