2009-09-03 3 views
5

По-видимому, после обновления до Rails 2.3 мое хранилище сеансов перестало работать. Я использовал, чтобы это:Управление сеансом в Rails (2.3)

сессия: session_expires => 3.years.from_now

в моем application_controller.rb, но теперь каждый раз, когда я закрыть браузер (хром) сессии истекает. Я читал где-то, что из session_expires изменилось бы к expire_after, но

сессия: expire_after => 3.years.from_now

не делал ничего хорошего eihter.

ответ

3

Хорошо, не знаю, почему "сессия: expire_after => ..." не работает, но я получил это работает с этим:

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

+0

Sweet работал на меня (не на сеансе браузера). Либо установите его явно там, либо внутри блока ActionController :: Base.session = {} оба работали (в config/initializers/session_store.rb – rogerdpack

2

Поместите это в свой ApplicationController, и так же, как истечет срок вашей сессии, будет создан новый.

before_filter :change_session_expiration_time 

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

Спасибо, что это сработало для меня – Ramanavel

Смежные вопросы