嗨我有一个用户模型
has_many :devices
has_many :events, :through => :devices.
这有以下方法:
def get_events_for_devices limit=nil
events.limit limit
end
然后我有一个用户控制器,我需要为每个用户设备缓存 500 个事件。目前我正在使用以下电话
user_requested = User.find(params[:id])
profile_info = Rails.cache.fetch("#{user_requested.email}-profile-info") do
{:user => user_requested, :devices => user_requested.devices, :events => user_requested.get_events_for_devices(500)}
我能够从缓存中取回 :user 和 :devices ,但不能取回 :events - 它们似乎不存在。
但是,如果我不使用 Rails.cache,我可以获取事件,只需调用 user_requested[:events]。
关于我应该如何进行的任何想法?谢谢!!