比方說,我有以下代碼:給定一組ActiveRecord對象,我可以通過方法調用輕鬆收集它們的關係嗎?
@sites = Site.find(session[:sites]) # will be an array of Site ids
@languages = Language.for_sites(@sites)
for_sites是在返回與這些網站相關的語言的語言模型named_scope和語言通過利用的has_many站點關聯。目標是使@語言具有與網站相關的各種語言。
與其說在第二行的語言對象的,我非常喜歡說
@sites.languages
,並具有相同的列表退還給我。有沒有辦法在Rails 2.1(或邊緣)中乾淨地做到這一點?我知道關聯和命名範圍可以擴展數組對象的屬性,但除非我錯過了某些不適用的東西。這樣做的任何插件都會受到歡迎,它並不一定是核心。
啊,所以這是其他方法如何做...謝謝,這絕對是最接近的,甚至看起來像它可以被提取出來的模塊和/或插件。 – 2008-10-23 23:12:25