diff --git a/lib/action_dispatch/session/active_record_store.rb b/lib/action_dispatch/session/active_record_store.rb index 99bd8e2..67c0573 100644 --- a/lib/action_dispatch/session/active_record_store.rb +++ b/lib/action_dispatch/session/active_record_store.rb @@ -78,7 +78,7 @@ def write_session(request, sid, session_data, options) logger.silence do record, sid = get_session_model(request, sid) record.data = session_data - return false unless record.save + return sid if record.changed? and not record.save session_data = record.data if session_data && session_data.respond_to?(:each_value)