【问题标题】:Session management in Rails (2.3)Rails 中的会话管理 (2.3)
【发布时间】:2009-09-03 18:10:46
【问题描述】:

显然,升级到 Rails 2.3 后,我的会话存储已停止工作。我以前有这个:

会话 :session_expires => 3.years.from_now

在我的 application_controller.rb 中,但现在每次我关闭浏览器(chrome)时,会话都会过期。我从某个地方读到 session_expires 会更改为 expire_after,但是

会话 :expire_after => 3.years.from_now

也没有任何好处。

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-2


    【解决方案1】:

    好的,不知道为什么“session :expire_after => ...”不起作用,但我得到了它:

    ActionController::Base.session_options[:expire_after] = 3.years

    【讨论】:

    • Sweet 为我工作(不再是浏览器会话)。在此处或在 ActionController::Base.session = {} 块中显式设置它都有效(在 config/initializers/session_store.rb
    【解决方案2】:

    将它放入您的 ApplicationController 中,当您的会话到期时,将生成一个新的。

      before_filter :change_session_expiration_time
    
      def change_session_expiration_time    
          request.session_options[:expire_after] = 1.minute
      end
    

    【讨论】:

      猜你喜欢
      • 2018-11-16
      • 2010-11-05
      • 2013-01-31
      • 2015-08-14
      • 2013-07-12
      • 1970-01-01
      • 2011-04-03
      • 1970-01-01
      • 2013-03-01
      相关资源
      最近更新 更多