Синтаксическая проблема if_attribute при объявлении_авторизации - PullRequest
0 голосов
/ 30 марта 2010

У меня есть организация, которая имеет И миссия, которая имеет одну организацию

Так что я могу сделать это:

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 голосов
/ 30 марта 2010

Я думаю, что это может сработать для вас

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