繁体   English   中英

如何在Rails模型中指定关联的紧急加载

[英]How to specify eager loading of associations in rails model

class A < ActiveRecord::Base
  has_many :Bs
  has_many :Cs
  ...
end

我希望每次对A进行查询A.where(name: :abc)例如A.where(name: :abc)时都使用单个查询而不是对数据库的多次调用来加载所有的B和C。

我不想为我运行的每个查询都指定.includes 如何在模型本身中指定快速加载?

我看了很多类似的问题,并尝试执行此操作,但是它不起作用:

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

default_scope { includes(:Bs, :Cs) }应该可以做到。

据我所知,范围将块作为参数而不是选项的哈希。 我只是在Rails控制台中尝试过,似乎可以正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM