0
예외적으로 캐싱을 방지하려면 어떻게합니까? 발견 캐시 ActionRecord :: RecordNotFound 아무것도와 충돌하는 경우Ruby on Rails에서 예외시 캐싱 방지
caches_page :index
...
def index
if params[:city]
city = City.find(params[:city])
@shows = city.shows
else
@shows = Show.all
end
...
- 괜찮아요 : 나는이 작업을해야합니다. 하지만 나는 내 로그 파일에도이 예외를 원하지 않는다. 하지만 만약 내가 :
begin
city = City.find(params[:city])
rescue ActiveRecord::RecordNotFound
render :nothing => true
return
end
캐시 된 빈 페이지!
내가 이런 상황에서해야 할 일은 무엇입니까?
도시에 대한 프로그램이있는 json 페이지를 캐시합니다. 페이지 캐싱이 최선의 선택이라고 생각합니다. (아마도 방금 레일을 배우기 시작했습니다.) 그러나 당신의 솔루션은 도시에 대한 하나의 추가 데이터베이스 요청을 필요로합니다. (제 컨트롤러에서 필요합니다) - 다른 옵션이 있습니다 ... – Donotello
희망합니다. 조각 캐싱을 사용하도록 제안하십시오. http://broadcastingadam.com/2011/05/advanced_caching_in_rails에서보세요. – Vik