3

いくつかの重要なフィールドのみを取得する「要約」スコープを持つモデルがあります。

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

このスコープを呼び出してから後で呼び出すと

Cupcake.find(id)

id 属性と name 属性のみが入力されたレコードを取得します。

find コマンドに強制的にデータベースに移動させるために渡すことができるオプションはありますか? また、これらは完全に異なる sql ステートメントを生成するべきではないため、activerecord はデータベースに移動する必要がありますか?

注: Rails 3.2.3 と pg gem を使用しています。

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 に答える