私が見たすべての Rails etag の例は非常に単純で、コントローラーの最後の行として fresh_when メソッドが呼び出されています。ページがまだ新鮮な場合、リクエストで呼び出したくないリソース集約型のメソッド呼び出しを持つコントローラーに対して、 fresh_when メソッドがどのように機能するかを理解しようとしています。例えば、
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 の下に配置すると、呼び出されますか? ありがとう!