Nie mogę znaleźć żadnych prostych przykładów korzystania z usługi Rack::Session::Cookie
i chciałbym móc przechowywać informacje w pliku cookie, a także uzyskać do nich dostęp w przypadku późniejszych żądań i wygaśnie.Czy są jakieś podstawowe przykłady użycia Rack :: Session :: Cookie?
Są to tylko przykłady udało mi się znaleźć:
- How do I set/get session vars in a Rack app?
- http://rack.rubyforge.org/doc/classes/Rack/Session/Cookie.html
Oto co mi chodzi:
use Rack::Session::Cookie, :key => 'rack.session',
:domain => 'foo.com',
:path => '/',
:expire_after => 2592000,
:secret => 'change_me'
A potem ustawienie/odczyt:
env['rack.session'][:msg]="Hello Rack"
Nie mogę znaleźć żadnych innych przewodników lub przykładów konfiguracji tego. Czy ktoś może pomóc?
Kwestia I odkryli, ze jest to gdybym ponownie uruchomić usługę internetową, sesja jest martwy, a zestaw sesja nie zostanie zapisana w pliku cookie. Jeśli więc trafisz "/", uruchom ponownie sinatrę, a następnie naciśnij/sess, nie zwrócisz żadnej informacji. – Dishcandanty
Zauważ, że powyższy kod jest dla ** Sinatra ** i różni się nieco od opublikowanego fragmentu kodu, ale w zasadzie to Rack Cookie zawija wewnętrznie AFAIK. Nie pracowałem bezpośrednio nad Rack, więc musiałem poświęcić trochę czasu, aby to zrozumieć. Sprawdź zaktualizowaną odpowiedź powyżej. – ch4nd4n
Myślę, że powinieneś wyjaśnić różnicę między 'env [" rack.session "] [: msg]' i 'request.session [" msg "]'. –