我有一个has_one关联,我真的只需要一个列的值:
class Item < ActiveRecord::Base
has_one :last_view, -> {order(viewed_at.desc).limit(1).select(:viewed_at)
是否有可能以某种方式仅检索列值(最好不从Item中选择时编写原始SQL),从而节省关联模型实例化成本,同时仍然可以预加载关联?
为了澄清,我希望能够做到这一点:
class Item < ActiveRecord::Base
has_one :last_view, -> {order(viewed_at.desc).limit(1).pluck(:viewed_at)
然后这只会运行一个查询:
Item.preload(:last_view).map(&:last_view)