首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4 Http缓存(在模板更改时如何过期缓存)

Rails 4 Http缓存(在模板更改时如何过期缓存)
EN

Stack Overflow用户
提问于 2015-01-13 14:06:21
回答 1查看 435关注 0票数 0

我读过几个关于HTTP缓存的博客,并尝试在我的rails应用程序中实现它,并使其正常工作。但是问题是,每当我直接修改我的模板文件(index.erb文件)时,这些更改就不会出现在浏览器上,服务器给我的是304没有修改的response.if --我从数据库编辑我的任何用户--然后只有这些更改出现在网页上。

因此,我只想知道是否有任何方法来过期缓存,并在http缓存中的模板文件发生更改时向用户发送200个响应。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-13 16:30:30

rails中的条件获取 (又名etag)支持非常简单。它根据传入的原因计算etag。因此,如果您有某种类型的计数器,当您更改模板时会增加,则缓存键过期,浏览器将请求新版本。

整个任务可以通过使用部署应用程序的git (或其他一些SCM键)实现自动化。因此,在每次部署时,都会破坏缓存。这种方法简单,易于调试。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27923996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档