【发布时间】:2015-03-11 12:26:27
【问题描述】:
我已经阅读了几篇关于 HTTP 缓存的博客,并尝试在我的 rails 应用程序中实现它并使其正常工作。但问题是,每当我直接修改我的模板文件(index.erb 文件)时,这些更改不会出现在浏览器上,服务器会给我返回 304 未修改的响应。如果我从数据库中编辑我的任何用户,那么只有那些网页上出现了变化。
所以我只想知道是否有任何方法可以使缓存过期并在 http 缓存中的模板文件发生更改时向用户发送 200 响应。
class UsersController < ApplicationController
before_action :set_user, only: [:show, :edit, :update, :destroy]
# GET /users
# GET /users.json
def index
@users = User.all
fresh_when etag: @users
end
end
【问题讨论】:
-
试试看bust_rails_etagsgem
标签: ruby-on-rails ruby-on-rails-4 etag http-caching