我知道通常最好避免在 Rails 模型中使用默认范围,但是,由于总是需要一些关联,而不是.includes
每次都在控制器中为模型使用方法,我更喜欢将其包含在默认范围中模型本身。
此更改是否有任何主要缺点(移动.includes
到模型default_scope
而不是控制器)?
例如:
而不是在控制器中:
Brand.includes(:car_model)
我想includes
在品牌模型本身中有这个:
default_scope { includes(:car_model) }
笔记:
据我所见,子弹现在说避免急切负载以避免这种情况includes
,而不是我之前在同一模型和包含关联上使用的急切负载。