2016-11-20 22 views
0

例如,如果我有一輛汽車。它與幾種'類型'的輪胎兼容。 即泥輪胎,公路輪胎等在Active Record中,是否有一種優雅的方式來處理累積一組集合的返回?

然後對於每個「類型」theres一堆模型。即goodyear,firestone等

我希望能夠查詢'A.R.模型'返回與其兼容的每種輪胎類型的全套輪胎模型。因此,它會首先查詢所有類型,即=>雪地輪胎和公路輪胎,然後它將循環穿過該集合,並且對於每一個返回另一集合,即,goodyear雪地輪胎,firestone雪地輪胎,supertread公路輪胎,鐵石步伐,那麼它將返回全套那些。

的模式:

Automobile=>has_many=>tire_types=>has_many=>tire_models.

我要查詢的汽車模型,並獲得全套tire_models的汽車是兼容的。

我可以做Automobile.tire_types.tire_models嗎?

是A.R.足夠聰明地爲我做所有的迭代?

如果不是有一個優雅的方式使用A.R.功能來做到這一點,或者只是一個基本的方法,這樣做的首選方式?

回答

0

我找到了解決方案。它涉及模型中的嵌套has_many聲明。

class SportSchedule < ActiveRecord::Base 
    has_many :gamedays 
    has_many :games, :through => :gamedays 
    has_many :results, :through => :games 

在此發現article

Active Record的帽子中還有一羽。

相關問題