7
实施某些帮助器方法时,有时我想将某些计算结果存储在可从辅助方法访问的某处作为缓存。在Rails帮助器方法中缓存评估结果
如果我将它存储到实例变量,它会污染实例,所以它看起来不明智这样做。
任何存储此类值的好地方? 或者在助手中做这么重的计算是一个坏主意?
实施某些帮助器方法时,有时我想将某些计算结果存储在可从辅助方法访问的某处作为缓存。在Rails帮助器方法中缓存评估结果
如果我将它存储到实例变量,它会污染实例,所以它看起来不明智这样做。
任何存储此类值的好地方? 或者在助手中做这么重的计算是一个坏主意?
有时我使用Rails缓存来存储这种类型的值。代码是这样的,
def helper_method
Rails.cache.fetch('helper_value') do
# calculate the value if it does not exist
...
end
end
谢谢。我认为缓存的使用并不是我所期望的,但从帮手的角度来看,这是解决问题的自然方法。谢谢。 – shigeya
只是一个提示:'config.action_controller.perform_caching = false'不会禁用Rails.cache.fetch,只有普通的ActionView'cache'助手。请参阅:http://stackoverflow.com/a/43991463/1290457 – sandre89