2013-03-15 32 views
0

我在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),但我不是創建一個新的用戶,甚至修改當前用戶的郵件字段。
當我在本地運行它時,一切正常,沒有錯誤。

回答

0

檢查數據庫中是否有多個用戶使用同一電子郵件。

可能是在添加驗證之前創建了副本。

+0

這正是我所做的。在添加驗證之前,我使用相同的電子郵件添加了幾個用戶。謝謝 – robertjlooby 2013-03-15 15:39:44

0

查看您的Db,使用heroku run console連接到您的應用程序的控制檯,並查看User.all的輸出以查看它是否在那裏。這不會是你在Heroku上運行這個導致這個錯誤的事實。