我的 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