我有一个具有“摘要”范围的模型,该范围仅获取几个重要字段:
class Cupcake < ActiveRecord::Base
scope :summary, select([:id, :name])
end
如果我调用这个作用域然后再调用
Cupcake.find(id)
我得到的记录只填充了 id 和 name 属性。
是否有一些选项可以传递给 find 命令以强制它转到数据库?此外,这些不应该生成完全不同的 sql 语句,因此 activerecord 将被迫转到数据库吗?
注意:我使用的是带有 pg gem 的 Rails 3.2.3
最佳答案
您可以使用未缓存的方法。参见 http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/QueryCache.html#method-i-uncached
举个例子:
uncached_cupcake = ActiveRecord::Base.uncached do
Cupcake.find(id)
end
希望这对您有所帮助。
关于ruby-on-rails - Rails 正在缓存范围内的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10435731/