модуль ActionController::ConditionalGet::ClassMethods
Публичные методы экземпляров
Позволяет учитывать дополнительную информацию, относящуюся к контроллеру при формировании etag. Например, если вы выдаёте страницы, настроенные в зависимости от того, кто в данный момент авторизован, вы можете добавить идентификатор текущего пользователя в etag, чтобы предотвратить отображение кэшированных страниц авторизованным пользователям.
class InvoicesController < ApplicationController
etag { current_user.try :id }
def show
# Etag will differ even for the same invoice when it's viewed by a different current_user
@invoice = Invoice.find(params[:id])
fresh_when(@invoice)
end
end
# File actionpack/lib/action_controller/metal/conditional_get.rb, line 30 def etag(&etagger) self.etaggers += [etagger] end
© 2004–2016 David Heinemeier Hansson
Licensed under the MIT License.