我需要编写一个脚本来扩充表格中的数据。但是,如果我跑
Thing.all.each do |thing|
...
end
每个东西的所有关联也被加载。我可以“排除”我没有使用的关联吗?
答案 0 :(得分:0)
默认情况下,Thing.all
不会急切加载与Thing
相关联的对象。
但是,如果你在do-end块中调用任何相关记录,那么这是Rails从数据库中获取数据的唯一时间。一个例子如下。
Thing.all.each do |thing|
# ...
puts thing.animal.name
# ...
end
如果你执行Thing.all.includes(:animal)
,这是急于加载动物记录的代码。