Spec-Zone.ru › Ruby on Rails 5.1

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

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

etag(&etagger) Показать исходный код
# File actionpack/lib/action_controller/metal/conditional_get.rb, line 29
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.

Spec-Zone.ru

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