HTTP 缓存

Rails> = 3 带有开箱即用的 HTTP 缓存功能。这使用 Cache-ControlETag 标头来控制客户端或中介(例如 CDN)可以缓存页面的时间。

在控制器操作中,使用 expires_in 设置该操作的缓存长度:

def show
  @user = User.find params[:id]
  expires_in 30.minutes, :public => true
end

使用 expires_now 强制任何访问客户端或中介上的缓存资源立即到期:

def show
  @users = User.find params[:id]
  expires_now if params[:id] == 1
end