跳到內容 跳到搜尋
方法
E

實體公有方法

etag(&標籤)

允許你在產生 ETag 時考慮其他與控制器相關的資訊。例如,如果你根據目前已登入者提供客製化的網頁,你可能希望將目前使用者的 ID 加入 ETag,以避免未經授權的快取網頁顯示。

class InvoicesController < ApplicationController
  etag { current_user&.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 etag: @invoice
  end
end
# File actionpack/lib/action_controller/metal/conditional_get.rb, line 33
def etag(&etagger)
  self.etaggers += [etagger]
end