我在使用 rails 3.2 加上作为 rails 4 一部分的 etagger gem 时遇到了最奇怪的错误。我在 CRUD 资源路由控制器以及#etag 调用和#fresh_when 上使用它。这一切都很好,直到我再次部署。用于验证缓存的资源(current_user 和控制器资源)当然不会在两者之间更新,这使得浏览器呈现之前缓存的页面。问题是,给定的缓存页面有错误的 csrf 标签。
我应该如何正确地使部署之间的缓存失效?也许我可以使用当前用户的 last_signed_in_at 字段(我正在使用设计,顺便说一句)?如果我假设所有用户都将注销,这似乎是公平的。