我正在将一个模型实例传递给缓存函数,并希望Rails使用cache_key
作为片段缓存的名称:
<% cache @ask do %>
code
<% end %>
但它使用._id
修饰符:
Exist fragment? views/50c919b646b5001be700002f (0.8ms)
Read fragment views/50c919b646b5001be700002f (0.0ms)
(id看起来像这样,因为我使用的是mongoDB)。我正在使用Rails 3.0.5。 为什么会这样?
编辑:我正在使用mongoid 2.0.0
答案 0 :(得分:0)
Mongoid版本2.4.0引入了cache_key
函数:https://github.com/mongoid/mongoid/blob/master/lib/mongoid/document.rb#L242:L246
如果你无法升级,你可以在你的模式下这样做:
def cache_key
# insert your cache key logic here
end