Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在为我的项目使用Devise和Cancan,它运行良好。数据库中有用户表。有3种角色
->Admin ->Publishers ->Players
现在我想从用户表中获取所有记录,期望管理员的记录。
我有点困惑如何做到这一点。
如果角色是用户表中的字符串:
scope :with_role, lambda{|role_name| where(:role => role_name) }
如果用户属于_to 角色:
scope :with_role, lambda{|role_name| includes(:role).where(:roles => {:title => role_name}) }
现在您可以获取所有管理员:
User.with_role('admin')