Ruby on rails 登录后,会话未被存储,用户*未*被重定向

Ruby on rails 登录后,会话未被存储,用户*未*被重定向,ruby-on-rails,session,redirect,login,authlogic,Ruby On Rails,Session,Redirect,Login,Authlogic,如果用户需要登录,传统上,我会让他们登录,网站会在确认后重定向到最初提示他们的位置 这是执行此操作的代码: def require_user unless current_user store_location flash[:notice] = "You must be logged in to access this page" redirect_to login_url return false end end def store_location

如果用户需要登录,传统上,我会让他们登录,网站会在确认后重定向到最初提示他们的位置

这是执行此操作的代码:

def require_user
  unless current_user
    store_location
    flash[:notice] = "You must be logged in to access this page"
    redirect_to login_url
    return false
  end
end

def store_location
  #session[:return_to] = request.request_uri
  session[:return_to] = request.url
end
但由于某些原因,这并不是对所有用户都有效。例如,一台iPhone设备在这方面失败的次数为四分之一

为什么会这样?我能做些什么来制作更防弹的版本呢


规格:Rails 2.3.5

为什么Rails 2.3.5不能升级到Rails 3.1?它是一个相当大的应用程序。我对这些警告感到紧张。我还没有将应用程序从2升级到3。你认为这能解决这个问题吗?我正要建议你使用巫术或设计,但后来我看到你在使用Rails 2。巫术真的很好,但只是3.x兼容。但我认为Desive可以在这方面帮助你。试着升级到Rails 3,如果你有一个合适的测试套件,这应该不会太棘手。试着调试会话cookie发生了什么-我使用Firebug的Firecookie扩展。另外,尝试使用cookie仅用于记住用户,请参阅我的关于身份验证的说明。我使用的是Authlogic。我试试firecookie。我最大的困难是错误不一致,无法复制。