내가 inherited_resources를 사용하지 않는, 그러나 나의 이해는 컨트롤러 단지 지름길이다. 보기가 표준이어야하며,이 경우 레일스 가이드에 설명 된대로 조각 캐싱을 사용할 수 있습니다. http://guides.rubyonrails.org/caching_with_rails.html#fragment-caching
시도해 보셨습니까? 그것이 작동하지 않는다면 우리의 견해가 어떻게 보이는지 보여주십시오.
편집 : 주석에 대한 응답.
아, 일반적으로 조각 캐싱을 사용하는 경우 컨트롤러 동작을 호출하지 않는 것이 좋습니다. 변수를 설정하지 않았기 때문에 변수가 없으면 왜 그렇지 않은 것입니까? 페이지 캐싱 사용?
검색어가 실행되는 것을 방지하기 위해, arel이있는 ActiveRecord 3.0은 친구입니다. 예를 들어, @posts = Post.where (: published => true)를 액션에 넣으면 뷰에서 @ posts.each를 호출 할 때까지 호출되지 않습니다. 따라서 캐시 블록 안에 넣으면 절대 부르지 마라. inherited_resources가 기본적으로하는 것은 확실하지 않지만 José Valim이 작성한 것으로 가정 할 때 ActiveRecord 기능을 기본적으로 사용하게 될 것이라고 생각합니다. 그렇지 않다면 쉽게 사용자 지정할 수 있습니다. 개발 환경의 캐싱을 켜고 로그를보고 어떤 쿼리가 실행되는지 확인함으로써 테스트 할 수 있습니다.
출처
2011-05-29 14:53:38
gtd
예,보기 캐싱을 위해 조각 캐싱을 사용하고 있습니다. 그러나 요청이 서버에 도달 할 때 컨트롤러 코드 (및 DB 쿼리)가 실행되는 것을 막을 수있는 방법은 없습니다. 내가 찾고있는 것은 캐싱을 기반으로 실행되는 inherited_resource 컨트롤러 코드를 중지 할 수있는 우아한 방법입니다. –
이 주석에 응답하기 위해 응답을 업데이트했습니다. – gtd
당신이 맞을 것 같네요. ARel이 여기에 핵심입니다. 내가 그것을 확인하면 나는 다시 게시 할 것이다. –