删除控制器中的缓存

时间:2017-11-17 18:35:17

标签: ruby-on-rails ruby caching

我想删除我的User.model

中定义的缓存

这是我的缓存方法(进入UserModel):

def cached_favgroups
  Rails.cache.fetch([self, "fav_groups"]) {fav_groups.to_a}
end

这是我删除它的代码(进入GroupController):

def something
  expire_fragment(current_user.cache_key+"/fav_groups")
end

使用此行生成的代码为:

Cache delete: views/users/1-20171116091341756594/fav_groups

而不是:

Cache delete: users/1-20171116091341756594/fav_groups

您知道如何更改我的代码以删除路径的第一部分(views /)

1 个答案:

答案 0 :(得分:1)

你必须改变

expire_fragment(current_user.cache_key+"/fav_groups")

进入

Rails.cache.delete(current_user.cache_key+"/fav_groups")