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.
This commit is contained in:
Andreas Loupasakis 2012-09-02 00:41:23 +03:00 committed by Steve Klabnik
parent 7fd6bd69e6
commit 8bfcb0de3a
1 changed files with 3 additions and 0 deletions

View File

@ -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)