2016-02-13 65 views
0
class A < ActiveRecord::Base 
    has_many :Bs 
    has_many :Cs 
    ... 
end 

我要加载所有B的和C的,每当我做一个查询,说A.where(name: :abc),用一个单一的查询,而不是多次调用数据库。如何指定轨道模型协会的积极加载

我不希望为我运行的每个查询指定.includes。我如何在模型本身中指定加载?

我看了很多类似的问题,并试图做到这一点,但它不工作:

default_scope :include => [:Bs, :Cs] 
+0

'default_scope {includes(:Bs,:Cs)}'。据我所知,范围不是选项散列。我只是在轨道控制台中试过,似乎可行 – nbermudezs

回答

3

default_scope { includes(:Bs, :Cs) }应该这样做。

据我所知,范围作为参数而不是选项的散列。我只是在轨道控制台中试过,似乎可行。