1

我想总结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,而不是在助手中。我可以这样做吗?我想在控制器中处理 cache_wrap 逻辑,因为这个逻辑与控制器中的另一个代码有关。

4

1 回答 1

0

您的示例应该按预期工作。

但是可能,您应该使用相同的钩子cache_wrap将控制器逻辑暴露给视图层,而不是放入控制器。helper_method

通过这种方式,您可以保持控制器更清洁,同时仍具有计划中的功能。

于 2012-11-12T09:19:23.980 回答