cancan фильтровать записи по ролям - PullRequest
0 голосов
/ 14 декабря 2011

очень простой вопрос, но у меня нет ответа ...; -)

Мне просто нужно просмотреть свою базу данных пользователей по ролям.Я не знаю, как сопоставить искомую роль с маской, созданной cancan

Я пытался:

@users= User.role?('manager'), но, конечно, это не работает.

У вас есть ответ?Спасибо!!

1 Ответ

0 голосов
/ 15 декабря 2011

ОК, я понял.Ответ был дан Райаном Б. в его превосходных сообщениях:

Используйте эту область:

  scope :with_role, lambda { |role| {:conditions => "roles_mask & #{2**ROLES.index(role.to_s)} > 0"} }

и просто примените ее следующим образом:

@admins = User.with_role('admin')
...