我创建了一个users
有很多areas
(通过subscriptions
)的应用程序。有些users
人有这个:admin
角色,这些用户也有很多administrative_areas
(通过administrations
。我正在努力寻找最好的方法来确保给定区域 A 的管理员进入用户索引页面,他们只能看到区域 A 中的其他用户,但不是这个区域之外的。我的模型设置如下:
class User < ActiveRecord::Base
has_many :subscriptions
has_many :areas, through: :subscriptions
has_many :administrations
has_many :administrative_areas, through: :administrations, :source => :area, :class_name => "Area"
end
class Area < ActiveRecord::Base
has_many :subscriptions
has_many :users, :through => :subscriptions
has_many :administrations
has_many :admins, :through => :administrations, :class_name => "User", :source => :user
end
我可以成功设置用户/管理员,但我正在努力获取正确的 ActiveRecord 查询以仅返回管理员的相关用户。
关于解决这个问题的任何想法,或更好的方法的建议?
谢谢!