2009-09-03 30 views
5

Rõ ràng, sau khi nâng cấp lên Rails 2.3, lưu trữ phiên của tôi đã ngừng hoạt động. Tôi đã từng có này:Quản lý phiên trong Rails (2.3)

phiên: session_expires => 3.years.from_now

trong application_controller.rb của tôi, nhưng bây giờ mỗi khi tôi đóng trình duyệt (chrome) phiên sẽ hết hạn. Tôi đọc ở đâu đó rằng từ session_expires sẽ thay đổi để expire_after, nhưng

phiên: expire_after => 3.years.from_now

không làm bất cứ eihter tốt.

Trả lời

3

Ok, không biết tại sao "phiên: expire_after => ..." đã không làm việc, nhưng tôi đã nhận nó làm việc với điều này:

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

+0

Làm việc ngọt cho tôi (không phải là phiên trình duyệt không còn). Hoặc là thiết lập nó một cách rõ ràng ở đó hoặc bên trong khối ActionController :: Base.session = {} đều hoạt động (trong config/initializers/session_store.rb – rogerdpack

2

Đặt điều này vào ApplicationController của bạn và ngay khi phiên của bạn hết hạn, phiên mới sẽ được tạo.

before_filter :change_session_expiration_time 

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

Cảm ơn nó đã làm việc cho tôi – Ramanavel

Các vấn đề liên quan