Каждый пример rails 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
Rails 4 удален действие кеширование. Похоже, новое соглашение - это etags и кэширование фрагментов. Я новичок в etags, поэтому я пытаюсь понять, как они полностью работают. – John
Я предпочитаю использовать устаревшие. –