# Include default devise modules.
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
config.time_zone = 'Europe/Berlin'
config.active_record.default_timezone = 'Europe/Berlin'
A confirmation email was sent to your account at '...'. You must follow the instructions in the email before your account can be activated
I believe that for some reason the timezone Devise uses to set the
confirmed_at field on the
users table is ahead of the 'Europe/Berlin' time zone. So when Devise does the check to see if
confirmed_at is set to a date/time before the current date/time, it returns false.
Solution: Try restarting your server to see if that updates it.
I took at look at
Devise::Models and I see the following code:
def skip_confirmation! self.confirmed_at = Time.now.utc end def confirmed? !!confirmed_at end
This basically leads me to believe that it is best to set app times in UTC and later convert them using a Gem like Local Time