检测Rails中是否缓存了某个操作的可能方法?

时间:2011-08-22 06:43:14

标签: ruby-on-rails ruby-on-rails-3 caching cache-control

使用Rails 3,是否可以检测到布局内部或者before_filter,以查看是否要缓存某个操作以及该操作是否有缓存命中?

caches_index :something, :layout => false

例如(在application.html.erb中)

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

是否可以在产品调用之前和/或之后进行此操作?

1 个答案:

答案 0 :(得分:2)

我正在以这种方式使用片段缓存:

  #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 %>