0

我的 Rails 应用程序中有以下模型:

属于用户单位_

拥有多个 Unit用户

我有一个范围来获取仓库中属于一个单元的所有单元

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