Rails - has_many 和 HABTM 模型的新手关联问题
我有三个模型:
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
很多人都要求这样做,您将在 Rails Lighthouse Ticket #8994 nofollow">nested_has_many_through 插件。如果您使用的是 Rails 2.3,则 nested_has_many_through 插件 可能适合您,否则在 Rails 3 中您可以使用可以编写 ARel 查询来查找正确的研究集。
A number of people have asked for this, you'll see some discussion in the Rails Lighthouse Ticket #8994 of some developers trying to merge in the functionality of the nested_has_many_through plugin. If you're on Rails 2.3, the nested_has_many_through plugin might work for you, otherwise in Rails 3 you could write an ARel query to find the right set of studies.