方法
- E
实例公共方法
etag(&etagger) 链接
允许您在生成 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
来源: 显示 | 在 GitHub 上
# File actionpack/lib/action_controller/metal/conditional_get.rb, line 33 def etag(&etagger) self.etaggers += [etagger] end