使用Rails 3,是否可以检测到布局内部或者before_filter,以查看是否要缓存某个操作以及该操作是否有缓存命中?
caches_index :something, :layout => false
例如(在application.html.erb中)
<%= yield %>
<% @is_cached == ... %>
是否可以在产品调用之前和/或之后进行此操作?
答案 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 %>