модуль ActionController::ConditionalGet::ClassMethods
Публичные методы экземпляра
# File actionpack/lib/action_controller/metal/conditional_get.rb, line 30 def etag(&etagger) self.etaggers += [etagger] end
Позволяет учитывать дополнительную информацию, относящуюся ко всему контроллеру, при формировании 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
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.