From 8bfcb0de3a2599925ce714cddc49d608ff8e03a8 Mon Sep 17 00:00:00 2001 From: Andreas Loupasakis Date: Sun, 2 Sep 2012 00:41:23 +0300 Subject: [PATCH] Force reloading of the session after destroy Use load_for_write! to ensure a refresh of the session object. This way the new session_id and the empty data will be stored properly. E.g. in the case of the session cookie store this means that a new digest will be returned to the user. --- actionpack/lib/action_dispatch/request/session.rb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/actionpack/lib/action_dispatch/request/session.rb b/actionpack/lib/action_dispatch/request/session.rb index 0e0d7a1a33..e17f2a5de6 100644 --- a/actionpack/lib/action_dispatch/request/session.rb +++ b/actionpack/lib/action_dispatch/request/session.rb @@ -72,7 +72,10 @@ module ActionDispatch options = self.options || {} new_sid = @by.send(:destroy_session, @env, options[:id], options) options[:id] = new_sid # Reset session id with a new value or nil + + # Load the new sid to be written with the response @loaded = false + load_for_write! end def [](key)