Возможный способ определить, кэшируется ли действие в Rails? - PullRequest
3 голосов
/ 22 августа 2011

Используя Rails 3, можно ли обнаружить внутри макета или before_filter, чтобы увидеть, будет ли кэшироваться действие и есть ли попадание в кеш для этого действия?

caches_index :something, :layout => false

Так, например (внутри application.html.erb)

<%= yield %>
<% @is_cached == ... %>

Можно ли это сделать до и / или после сдачи вызова на предмет?

1 Ответ

2 голосов
/ 22 августа 2011

Я использую кеширование фрагментов следующим образом:

  #helper
  def cache_unless(condition, name = {}, &block)
    unless condition
      cache(name, &block)
    else
      yield
    end
  end


  #view
  <% cache_unless has_permission?, :action => :index, :folder => @folder, :user_id => @user.id do %>
  ...
  <% end %>
...