This likely has to do with the security updates in Devise 3.1. The token that is sent to the user does not match the one that is in the database. You could turn off this feature by including this in your devise initializer:
config.allow_insecure_token_lookup = true
But it would be best to just delete the user and create a new one with the new token system.
See this blog post about the security changes in Devise 3.1: http://blog.plataformatec.com.br/2013/08/devise-3-1-now-with-more-secure-defaults/ You're looking for the section titled "Store digested tokens in the database"