Heroku上的Rails应用程序验证错误
问题描述:
我在Heroku上运行rails应用程序,并在用户尝试重置密码时遇到问题。我的用户模型validates_uniqueness_of :email
和方法重置其密码是Heroku上的Rails应用程序验证错误
def send_password_reset
generate_token(:password_reset_token)
self.password_reset_sent_at = Time.zone.now
save!
UserMailer.password_reset(self).deliver
end
当我检查heroku logs
它告诉我,save!
正在生成ActiveRecord::RecordInvalid (Validation failed: Email has already been taken)
,但我不是创建一个新的用户,甚至修改当前用户的邮件字段。
当我在本地运行它时,一切正常,没有错误。
答
检查数据库中是否有多个用户使用同一电子邮件。
可能是在添加验证之前创建了副本。
答
查看您的Db,使用heroku run console
连接到您的应用程序的控制台,并查看User.all
的输出以查看它是否在那里。这不会是你在Heroku上运行这个导致这个错误的事实。
这正是我所做的。在添加验证之前,我使用相同的电子邮件添加了几个用户。谢谢 – robertjlooby 2013-03-15 15:39:44