在将 HTML5 缓存添加到在 Rails 上以主干编写的单页应用程序后,我遇到了问题。浏览器(chrome)没有重新加载 html,这会以两种方式导致问题:
1) 主干的骨架 html 有时会发生变化 - 至少让主干知道用户已登录。但是,由于没有加载 html,应用程序不知道这一点(例如刷新后)。我可以在页面加载时查询服务器,但这是我希望避免的另一个请求。此外,这将强制将所有权限逻辑移动到客户端 - 因此要么从服务器复制 cancan 设置,要么将其嵌入到 html 中 - 我们遇到了上述问题。
2) Rails 的 csrf 标记在 html 中,它们也不会改变 - 导致任何 ajax 帖子都不起作用。对于这个我不知道该怎么做。从我读到的 csrf 令牌是为会话生成的,所以也许在登录/注销时我可以用 js 更新它。但是在哪里得到它,它会工作吗?