我想在我的视图中包裹cache
:
- cache_wrap(cache_key, cache_options) do
%div cached block
使用cache_wrap,如:
helper_method :cache_wrap
def cache_wrap(key, options)
if key.empty?
yield
else
Rails.cache.fetch(key, options) do
yield
end
end
nil
end
我想在控制器中使用cache_wrap,而不是在helper中。我能这样做吗? 我想在控制器中配置cache_wrap逻辑,因为这个逻辑与生活在控制器中的另一个代码有关。
答案 0 :(得分:0)
您的示例应该按预期工作。
但可能不是将cache_wrap
放入控制器,而是应该使用相同的helper_method
挂钩将控制器逻辑暴露给视图层。
这样,您可以保持控制器清洁,同时仍然按计划使用功能。