在我的应用中有一个带有索引操作的帖子控制器,它可以用html和rss响应。我使用带有caches_action :index, :layout => false, …
的memcached将其设置为缓存,一切都适用于html,但是当rss已经缓存时,我将它包装到html布局application.html.haml中,尽管我有rss布局application.rss .haml。
据我所知,对于rss,最好使用caches_page,但我想知道为什么使用了错误的布局类型。我使用rails 3.0.7。
答案 0 :(得分:1)
我也遇到过这种情况,caches_action
不正确地尊重格式和布局,所以我们必须这样做:
caches_action :index, :layout => false, :if => Proc.new {|c| c.request.format.try(:html?)}
caches_action :index, :if => Proc.new {|c| c.request.format.try(:rss?)}
基本上有单独的caches_action调用您希望缓存的每种不同格式。