0

我有三個型號: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 

回答

0

許多人問這個,你會看到一些開發商試圖在nested_has_many_through plugin的功能合併Rails Lighthouse Ticket #8994一些討論。如果你on Rails的2.3,在nested_has_many_through plugin可能爲你工作,否則在Rails 3中,你可以寫一個ARel查詢找到合適的系列研究。

+0

謝謝,帕特里克!那個燈塔票是令人鼓舞的。我會考慮編寫一個ARel查詢以獲得權宜之計解決方案。 – 2010-11-01 04:28:35