每当我部署新版本的rails应用程序时,先前版本的真实性令牌都将失效。这是正常的行为。我不打算改变它。
但是,任何仍然在最后一个版本上打开页面的用户,如果他们尝试发布请求,都会收到无效的令牌错误。
如何阻止他们收到此错误?
答案 0 :(得分:2)
您在哪里存储会话?如果新代码可以到达旧会话(例如Cookie,DB或基于共享文件夹的会话),则部署本身不会使会话无效。
仅当您使用Capistrano / Webistrano进行部署且会话存储在实际版本文件夹(而不是共享文件夹)中时,旧会话将丢失,用户需要获取新的auth_token。
因此,您可以尝试使用某种共享存储来保存部署之间的会话数据。