我有三个模型:
class Tenant < ActiveRecord::Base
has_many :sites
end
class Site < ActiveRecord::Base
belongs_to :tenant
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :sites
end
对于站点和用户,我有一个连接表 (sites_users)。
每个站点都有 n 个用户。每个租户都有 n 个站点。
要获取特定站点的用户列表,很简单:
t = Tenant.first
s = t.sites.first
s.users
但是我可以添加到租户的关联以提供该租户下所有站点之间所有用户的列表吗?这样我就可以做到:
t = Tenant.first
t.users