Tôi không thể tìm thấy bất kỳ ví dụ đơn giản nào khi sử dụng Rack::Session::Cookie
và muốn lưu trữ thông tin trong cookie và truy cập thông tin đó vào các yêu cầu sau đó và yêu cầu hết hạn.Có bất kỳ ví dụ cơ bản về Rack :: Session :: Cookie sử dụng không?
Đây là những ví dụ duy nhất mà tôi đã có thể tìm thấy:
- How do I set/get session vars in a Rack app?
- http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html
Đây là những gì tôi nhận được:
use Rack::Session::Cookie, :key => 'rack.session',
:domain => 'foo.com',
:path => '/',
:expire_after => 2592000,
:secret => 'change_me'
Và sau đó thiết lập/truy xuất:
env['rack.session'][:msg]="Hello Rack"
Tôi không thể tìm thấy bất kỳ hướng dẫn hoặc ví dụ nào khác cho việc thiết lập điều này. Ai đó có thể giúp đỡ?
Vấn đề tôi đã khám phá ra với điều này là nếu tôi khởi động lại dịch vụ Web, phiên đã chết, và phiên thiết lập sẽ không được lưu trong cookie. Vì vậy, nếu bạn nhấn '/', hãy khởi động lại sinatra, sau đó nhấn/sess, bạn sẽ không trả lại bất kỳ thông tin nào. – Dishcandanty
Lưu ý rằng mã trên là dành cho ** Sinatra ** và nó hơi khác so với đoạn mã bạn đã đăng nhưng về cơ bản nó kết thúc tốt đẹp Rack Cookie nội bộ AFAIK. Tôi đã không làm việc trên Rack trực tiếp vì vậy tôi đã phải dành một chút thời gian để tìm ra điều này. Vui lòng tham khảo câu trả lời được cập nhật ở trên. – ch4nd4n
Tôi nghĩ bạn nên làm rõ sự khác biệt giữa 'env [" rack.session "] [: msg]' và 'request.session [" msg "]'. –