cancan按角色过滤记录

时间:2011-12-14 16:48:50

标签: ruby-on-rails roles cancan mask

这里非常简单的问题,但我没有答案......; - )

我只需要按角色浏览我的用户数据库。我不知道如何将我正在寻找的角色与cancan创建的面具相匹配

我试过了:

@users= User.role?('manager')但当然不起作用。

你有答案吗?谢谢!!

1 个答案:

答案 0 :(得分:0)

好的,我明白了。 Ryan B.在他出色的轨道广播中给出了答案:

使用此范围:

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

并以这种方式应用:

@admins = User.with_role('admin')