【发布时间】:2014-05-25 00:01:18
【问题描述】:
我想选择一组 ActiveRecord 对象及其belongs_to 相关对象,并完成一个查询。 IE。调用后
products = Product.joins(:image).limit(10)
在迭代products 时,我希望product.image 不会导致对数据库的另一个查询,但它的image 属性已经填充了Image 实例,而不是从先前的查询中缓存。
如何为select 构造参数,以便它选择填充相关对象所需的所有属性?或者也许我看错了方向,还有其他方法可以减少每次迭代时这些不必要的查询:
Image Load (1.0ms) SELECT "images".* FROM "images" WHERE "images"."id" = 270783 LIMIT 1
Image Load (1.2ms) SELECT "images".* FROM "images" WHERE "images"."id" = 121344 LIMIT 1
Image Load (1.2ms) SELECT "images".* FROM "images" WHERE "images"."id" = 196239 LIMIT 1
Image Load (1.2ms) SELECT "images".* FROM "images" WHERE "images"."id" = 91194 LIMIT 1
Image Load (1.2ms) SELECT "images".* FROM "images" WHERE "images"."id" = 116278 LIMIT 1
Image Load (1.2ms) SELECT "images".* FROM "images" WHERE "images"."id" = 117207 LIMIT 1
Image Load (0.8ms) SELECT "images".* FROM "images" WHERE "images"."id" = 244471 LIMIT 1
Image Load (0.8ms) SELECT "images".* FROM "images" WHERE "images"."id" = 239287 LIMIT 1
Image Load (0.8ms) SELECT "images".* FROM "images" WHERE "images"."id" = 15124 LIMIT 1
Image Load (1.2ms) SELECT "images".* FROM "images" WHERE "images"."id" = 186670 LIMIT 1
【问题讨论】:
标签: ruby-on-rails activerecord ruby-on-rails-4