gpt4 book ai didi

ruby-on-rails - 使用 attr_accessor 缓存模型数组?

转载 作者:数据小太阳 更新时间:2023-10-29 08:13:26 24 4
gpt4 key购买 nike

当我在模型中添加一个 attr_accessor 而数据库中没有该列时,我可以将临时数据添加到类对象数组中。

我的例子:

class User < ActiveRecord::Base
attr_accessor :score
end

但是问题是,如果在 memcache 中缓存一个带有分数的用户数组,则该数组来自:

[< User >, < User >, < User >]

到:

[< User >, :@score, 100, < User >, :@score, 200, < User >, :@score, 300]

有没有办法在不破坏数组的情况下缓存这些信息?

编辑:根据要求,将数据放入缓存的实际代码:

  def users_scoreboard
Rails.cache.fetch("special_scoreboard_#{self.cache_key}", :expires_in => 1.hour) do
users = Photo.missions(self.missions).created(self.start_at, self.end_at).map(&:user).uniq!
users = [] if users.nil?
users.each do |u|
u.score = u.score_for_special(self)
end
users.sort! { |a,b| b.score <=> a.score }
end
end

编辑:我正在使用的是:

ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.0.1]

rails -v
Rails 3.2.0

memcached -i
memcached 1.4.5

memcached -i
memcached 1.4.5

gem -v dalli
1.8.8

但问题出现在 Memcache 或文件存储上。

感谢您的帮助!

最佳答案

尝试使用 cattr_accessor,它也会将访问器方法添加到类中。这对我有用。

关于ruby-on-rails - 使用 attr_accessor 缓存模型数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8972984/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com