3

我有一个模型,它的“摘要”范围仅获取几个重要字段:

class Cupcake < ActiveRecord::Base
  scope :summary, select([:id, :name])
end

如果我调用这个范围,然后再调用

Cupcake.find(id)

我得到的记录只填充了 id 和 name 属性。

是否有一些选项我可以传递给 find 命令以强制它进入数据库?这些也不应该生成完全不同的 sql 语句,因此 activerecord 将被迫进入数据库吗?

注意:我正在使用带有 pg gem 的 Rails 3.2.3

4

1 回答 1

0

您可以使用未缓存的方法。请参阅http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/QueryCache.html#method-i-uncached

举个例子:

uncached_cupcake = ActiveRecord::Base.uncached do
  Cupcake.find(id)
end

希望这可以帮助。

于 2012-05-03T19:18:43.970 回答