ruby-on-rails - 在 Rails 5 模型的 default_scope 中使用包含方法,而不是在控制器中
问题描述
我知道通常最好避免在 Rails 模型中使用默认范围,但是,由于总是需要一些关联,而不是.includes
每次都在控制器中为模型使用方法,我更喜欢将其包含在默认范围中模型本身。
此更改是否有任何主要缺点(移动.includes
到模型default_scope
而不是控制器)?
例如:
而不是在控制器中:
Brand.includes(:car_model)
我想includes
在品牌模型本身中有这个:
default_scope { includes(:car_model) }
笔记:
据我所见,子弹现在说避免急切负载以避免这种情况includes
,而不是我之前在同一模型和包含关联上使用的急切负载。
解决方案
推荐阅读
- javascript - Using map with reduce in javascript to filter objects in an array
- python - How to add new row in pandas dataframe?
- mysql - SQL | 使用有序表获取行号并使用 WHERE
- javascript - Framework7 redirect to new page when login is successful with CSS
- ios - 拉动以刷新视图在用于触发 segue 时不会关闭
- hdl - cocotb 中 <= 和 = 有什么区别?
- java - 弹簧拒绝时间值
- c++ - C++ 代码中的不同延迟是否会影响 UDP 通信时间?
- android - 如何将滚动视图添加到空白片段?
- r - 如何使用 Lubridate 将日期格式化为“YYYY-Mon”?