0

私のレールアプリには次のモデルがあります:

ユーザー属するユニット_

ユニット数が 多い ユーザー

ユニットに属する倉庫内のすべてのユニットを取得するスコープがあります

class Unit < ActiveRecord::Base
  scope :warehouse, where(:location => 'warehouse')
end

キャッシュされたデータを取得するためのcached_warehouseメソッドも作成しましたが、親モデルからユーザー ID を読み取ってユーザーごとにキャッシュを作成する方法がわかりません。

user = User.first
user.units.cached_warehouse

cached_warehouse クラス メソッドでユーザーの ID にアクセスするにはどうすればよいですか?

class Unit < ActiveRecord::Base    
  def self.cached_warehouse
    Rails.cache.fetch([name, "warehouse_#{USER_ID}"]) do
      warehouse.to_a
    end
  end
end
4

0 に答える 0