2011-07-12 87 views
4

我有一個使用Devise進行用戶身份驗證的Rails應用程序。在localhost:3000我的網站完美運作。我可以註冊,登錄等。但是,當我,並嘗試註冊或登錄時,我只是得到一個500錯誤。Heroku服務器不能與Devise合作

我的網站的某些規格:我使用SQLite(我聽說可能有問題),並改變了/用戶/ sign_up路線/登錄/用戶/ sign_in路線/登錄。我/configure/environments/development.rb了代碼config.action_mailer.default_url_options = { :host => 'localhost:3000' }/configure/environments/production.rb了代碼config.action_mailer.default_url_options = { :host => 'myPersonalApp.heroku.com' }

什麼是錯的,是造成僅在Heroku 500錯誤?

+2

您將在Heroku上使用PostgreSQL,您應該將開發環境切換到PostgreSQL。你的錯誤日誌裏有什麼? –

+0

我在我的電腦上使用了sqllite,當然在heroku上的postgres工作正常。 – jpwynn

回答

16

只是一個想法 - 你有沒有在Heroku上執行過任何優秀的遷移?這是我總是忘記 - 只需運行heroku run rake db:migrate,看看是否有幫助。畢竟,在代碼中可能不是一個錯誤。

希望這會有所幫助!

+0

'heroku rake'已被取消,現在它將成爲'heroku run rake db:migrate' –

+1

與Rails 4和heroku有完全相同的問題。這個答案爲我解決了它。 – Lotix

2

是否在您的帳戶上啓用了SendGrid,以便它實際上可以發送消息?

-1

有同樣的問題。運行的Heroku運行耙分貝:遷移我

+0

這個答案與已經接受的答案完全一樣,所以只是網站用戶的分心。建議您刪除它。 – Bryan

1

工作,我有一個不同的原因相同的問題: 不要忘記設置

config.mailer_sender = 'your-email-address.xyz' 

在devise.rb。