我的rails应用程序中有以下模型:
属于 用户的 单元 用户 有多个 单位我有一个范围来获取仓库中属于单位的所有单位
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