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 に答える