나는 예를 들어, AJAX 요청을 포함하여 다양한 형식의 요청에 응답하는 레일 액션이 있습니다여러 형식으로 작동하도록 caches_action을 구성하는 방법은 무엇입니까?
def index
# do stuff
respond_to do |format|
format.html do
# index.html.erb
end
format.js do
render :update do |page|
page.replace_html 'userlist', :partial => "userlist", :object=>@users
page.hide('spinner')
page.show('pageresults')
end
end
end
end
내가 사용 memcached를 사용하여 캐시하기 위해이 작업을 설정 한 :
는caches_action :index, :expires_in=>1.hour, :cache_path => Proc.new { |c| "index/#{c.params[:page]}/#{c.request.format}" }
이 패턴에 보인다 HTML 결과 캐싱에는 잘 작동하지만 JS 결과에는 적합하지 않습니다. JS 부분은 캐시에서 오지 않을 때 항상 올바르게 작동합니다. 그러나 캐시 히트가있을 때 페이지는 업데이트되지 않습니다.
어떤 일이 발생할 수 있으며 수정 사항은 무엇입니까?
업데이트 : 더 자세히 살펴보면 캐시의 요청이 'text/javascript'대신 'text/html'MIME 유형을 얻는 것처럼 보입니다. 그러나 나는 이것을 고치는 방법을 모르겠다 - 그것은 memcached의 특질인가? (레일즈 2.3.2)