rails3 возможно ли создать model.scope без ограничений - PullRequest
0 голосов
/ 13 сентября 2010

Я пытаюсь создать область на моей модели, ограничивая доступные результаты только теми, которые принадлежат партнеру пользователя.Однако, когда пользователь является администратором, я хочу, чтобы все модели были доступны.Это работает, но выглядит глупо.Как правильно выразить это rails3?

scope :accessible_by, proc { |user|
  if user.admin?
    where("1=1")
  else
    where(:owner_id => user.partner.id)
  end
}

Что я хочу сделать, это выбрать дальше и сделать, например,

@models = MyModel.
            accessible_by(current_user).
            other_scope.
            where(:property => value).
            order("another_property desc").
          all

1 Ответ

1 голос
/ 13 сентября 2010

Возможно, вы сможете использовать модификатор all.

scope :accessible_by, proc { |user|
  if user.admin? == false
    where(:owner_id => user.partner.id)
  end
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...