偶尔中断更改会导致ActionDispatch::Session::SessionRestoreError异常。如果能够做这样的事情来自动清除无效会话,那就太好了:
class ApplicationController < ActionController::Base
rescue_from ActionDispatch::Session::SessionRestoreError do |exception|
reset_session
redirect_to :home
end
end这不起作用--我假设是因为异常发生在较低的ActionDispatch层。有没有办法从这些错误中恢复过来?
发布于 2012-12-04 07:29:54
它可以。健壮的解决方案如下:
YourApp::Application.config.secret_token的值,例如,将最后一个字符替换为其他字符,然后重新启动Rails 我知道它不能直接解决问题,自动化也相对困难,也不是一个好主意(自动重写应用配置),但它可能是一个(昂贵的)选择。
我在将大量数据块写入会话时遇到过这种情况,因此您还可以确保根据任何大量数据存储来检查您的会话,并将其交换到数据库。
https://stackoverflow.com/questions/11835007
复制相似问题