以下代码生成一个TypeError (can't modify freeze object)。但是我们所做的只是复制缓存的项目。有谁知道为什么?我们在 Rails 3.0.6 和 Ruby 1.8.7 上。谢谢!
我们还尝试使用克隆然后解冻生成的对象,但这也产生了相同的异常。
pack没有在其他任何地方定义。
cached_pack = Rails.cache.fetch( 'packs/' + pack_id, {:expires_in => 10.days} ) do
Rails.logger.info '+++ Cache miss: '
Pack.find pack_id
end
pack = cached_pack.dup