0
필자가 보았던 모든 레일즈 etag 예제는 컨트롤러의 마지막 라인으로 호출되는 fresh_when 메소드로 매우 간단합니다. 페이지가 여전히 신선한 경우 요청을 호출하고 싶지 않은 리소스 집약적 인 메서드 호출을 가진 컨트롤러에 대해 fresh_when 메서드가 어떻게 작동하는지 이해하려고합니다. 노트이 사용자가 마지막으로 업데이트 이후 업데이트되지 않은 경우, 예를 들어,Etags in controller
class NotesController < ApplicationController
etag { current_user.try :id }
def show
@note = Note.find(params[:id])
@note.do_some_expenisve_data_manipulation
fresh_when(@note)
end
end
는 @라고 note.do_some_expensive_data_manipulation 것인가? 그 라인을 fresh_when 아래에 놓으면 호출 될까요? 감사!
봇은 왜 액션 캐싱을 사용합니까? – cpuguy83
레일 4가 액션 캐싱을 제거했습니다. 새로운 관례는 etags와 조각 캐싱 인 것 같습니다. 나는 그들이 완전히 어떻게 작동하는지 이해하려고 노력하고있어 etags에 새로운 사람입니다. – John
나는 오래된 것을 선호합니다. –