From abfd7e5a4b6abba762dceb59ee6f646ea8b88710 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Valim?= Date: Mon, 19 Jul 2010 00:11:51 +0200 Subject: [PATCH] Warn in case you are using the previous session schema, closes #386 --- lib/devise/rails/warden_compat.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/devise/rails/warden_compat.rb b/lib/devise/rails/warden_compat.rb index c352023f..85df1601 100644 --- a/lib/devise/rails/warden_compat.rb +++ b/lib/devise/rails/warden_compat.rb @@ -20,6 +20,13 @@ class Warden::SessionSerializer def deserialize(keys) klass, id = keys + + if klass.is_a?(Class) + raise "Devise changed how it stores objects in session. If you are seeing this message, " << + "you can fix it by changing one character in your cookie secret, forcing all previous " << + "cookies to expire, or cleaning up your database sessions if you are using a db store." + end + klass.constantize.find(:first, :conditions => { :id => id }) rescue NameError => e if e.message =~ /uninitialized constant/