2010-05-12 4 views
9

을 내가 JSON 출력을 반환하는 컨트롤러의 index 액션이있다.렌더링 캐시 방법 : JSON

render :json => my_array.to_json 

여기서 사용해야하는 캐싱 유형은 무엇입니까? '페이지 캐싱'이이 점을 이해합니다.

또는 내가

caches_action :index 

답변

3

어느 액션 캐싱 또는 페이지 캐싱이 잘 작동 할 아래처럼 행동 캐싱을 어떻게해야합니까; 페이지 캐싱은 Rails 스택을 호출하지 않는 이점이 있지만, Json 피드에 액세스하는 사용자를 제어해야하는지 여부에 달려있다. 가지게되는 시스템 자원에 큰 절감 효과가있다 - 당신이 멀리 얻을 수 있다면

나는 페이지 캐싱을 사용하는 큰 팬입니다. :)


편집 : 페이지 캐싱 예, 경우에 혼란이 있었다 :

class SomeController < ApplicationController 
    caches_page :index 
    def index 
    render :json => my_array.to_json 
    end 
end 

내가 뭔가를 오해하지 않았다면, 그건 당신이해야 할 일은해야한다.

+0

어떻게 JSON 페이지 캐싱을 I를 지정 않습니다. 내보기에는 템플릿이 없습니다. – user290870

+0

컨트롤러에서 코드를 지정하고 코드를 답안에 추가 할 수 있어야합니다. 덕분에 – robotmay

+0

!. 나는 페이지 캐싱이 액션 대신에 'caches_page'의 인자로 캐시 된 뷰의 이름을 필요로한다고 생각했다. – user290870

2

같은 고려 사항은 다른 출력으로 JSON에 적용해야합니다. 사용자의 데이터에 대한 액세스를 검증해야하는 경우 조치 캐싱이 필요합니다. 그렇지 않으면 페이지 캐싱이 잘되어야합니다.

앱의 논리로 인해 데이터 변경 후 캐시의 두 형태가 문제가 있다면 당신은 다른 뭔가를 사용하는 것이 더 낫다.

+1

json에 대한 페이지 캐싱은 어떻게 지정합니까? 내보기에는 템플릿이 없습니다. – user290870

관련 문제