Spec-Zone.ru › Ruby on Rails 6.0

модуль ActionController::ConditionalGet::ClassMethods

Публичные методы экземпляров

etag(&etagger) Показать исходный код
# File actionpack/lib/action_controller/metal/conditional_get.rb, line 28
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–2019 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API