我的 user.rb (model) 有以下实例方法:
def points_last_seven_days
last_seven_days_hash_raw = self.reports.group_by_day(series: true) { |r| r.created_at }
out = {}
last_seven_days_hash_raw.each do |day, reports|
out[day.to_s] = reports.last.bullets
end
out
end
当我运行User.first.points_last_seven_days
一切正常时,正如预期的那样,我得到了一个带有数据的哈希值。
现在是棘手的部分。我有一个缓存模块将用户加载到 redis 中。
为此,我使用,除其他外:
def make_cacheable_strings
output_array = []
get_users_for_status.each do |user|
output_array << user.to_json(methods: USER_CACHED_METHODS)
end
output_array
end
我USER_CACHED_METHODS
的如下:
USER_CACHED_METHODS = [
...,
:points_last_seven_days
]
重点是: User.last.method_name = 正确数据
CachedUser["method_name"] (json redis) = {} // 空哈希...
怎么了?
谢谢