Heroku上的Rails app验证错误

时间:2013-03-15 15:24:04

标签: ruby-on-rails heroku

我在Heroku上运行rails应用程序并在用户尝试重置密码时遇到问题。我的用户模型有validates_uniqueness_of :email,重置密码的方法是

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),但我不会创建新用户,甚至不会编辑当前用户的电子邮件字段。
当我在本地运行时,一切正常,没有错误。

2 个答案:

答案 0 :(得分:0)

检查数据库中是否有多个用户使用相同的电子邮件。

在添加验证之前,可能会创建副本。

答案 1 :(得分:0)

查看您的Db,使用heroku run console连接到您应用程序的控制台,查看User.all的输出,看看它是否存在。它不会成为你在Heroku上运行这个导致这个错误的事实。