当前位置:  开发笔记 > 编程语言 > 正文

滚动并获取具有对资源的特定访问权限的用户列表

如何解决《滚动并获取具有对资源的特定访问权限的用户列表》经验,为你挑选了1个好方法。

我有两个模型OrganizationUsers我正在使用Rolify连接.

用户具有角色,组织是资源.

这很好用但是我的问题是尝试获取特定资源的用户列表.我想获得在该资源上有任何角色的所有用户的列表(我不关心像通用管理员这样的类级别角色等)

我尝试过做类似下面的事情,但它很糟糕,它仍然会返回一个类级管理员列表(那些管理员但实际上并不在任何特定资源上).

class Organization < ActiveRecord::Base
  resourcify

  def users
    # this is terrible and still doesn't work right.
    User.with_role(:admin, self) + User.with_role(:press, self)
  end
end

class User < ActiveRecord::Base
  rolify

  def organizations
    Organization.with_roles(Role.role_names, self).uniq
  end
end

有任何想法吗?



1> holden..:

试试这个.

has_many :users, through: :roles, class_name: 'User', source: :users

这应该只添加使用角色模型的那些(跳过类中的那些).你也可以尝试更明确的条件,看看这个问题/ PR:

https://github.com/RolifyCommunity/rolify/pull/181

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有