0

私は複数の所属を持つ組織と、1 つの組織を持つ使命を持っています。

だから私はこれを行うことができます:

m = Mission.first
m.organization.affiliations 

ユーザーには has_many のアフィリエーションもあるため、次のことができます。

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

構文の何が問題になっていますか?

4

1 に答える 1

0

私はこれがあなたのために働くかもしれないと思う

has_permission_on :missions, :to => [:manage] do
  if_attribute :organization => { :affiliations => intersects_with { user.affiliates.type_admin } }
end
于 2010-03-30T17:55:34.217 に答える