2011-05-05 2 views
1

내 애플 리케이션에 인덱스 작업 게시물 컨트롤러, 그것은 HTML 및 RSS로 응답 할 수 있습니다. caches_action :index, :layout => false, …와 memcached를 사용하여 캐싱하도록 설정했지만 모든 것이 html로 잘 작동하지만 rss가 이미 캐싱 된 경우 rss 레이아웃 application.rss.haml이 있지만 html 레이아웃 application.html.haml로 래핑됩니다.레일스 caches_actions가 잘못된 레이아웃을 사용하는 이유는 무엇입니까?

저는 rss의 경우 caches_page를 사용하는 것이 더 좋지만 레이아웃의 잘못된 유형이 사용되는 이유를 알고 싶습니다. 레일 3.0.7을 사용합니다.

내가 너무이 우연히
+0

동일한 문제가 있습니다. :-( – Houen

답변

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 통화를 가진.

관련 문제