2016-11-20 44 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的帽子中还有一羽。

相关问题