2012-10-09 170 views
3

這使我瘋狂。開發環境沒有錯誤。部署到Amazon EC2時,生產環境中沒有錯誤。在Heroku上調試500錯誤沒有任何錯誤信息

但是,在Heroku上,當訪問特定頁面時,它給了我一個500錯誤。沒有其他消息超過500錯誤消息。

2012-10-09T06:50:02+00:00 app[web.1]: Completed 500 Internal Server Error in 72ms (Views: 11.5ms | ActiveRecord: 44.2ms) 

這就是我的全部。沒有其他錯誤消息。我甚至將日誌級別設置爲「DEBUG」。

怎樣才能找出導致Heroku 500錯誤的原因?

我感謝您的幫助。

回答

2

原來與sass無關。我必須捕獲500錯誤並顯示堆棧跟蹤,以確切找出導致錯誤的原因並對其進行修復。

在輔助函數,我不得不

rand(1..size) 

以及導致在Heroku上的錯誤,而不是在開發環境中,也不在EC2上。我不得不修改它到

rand(size) 

並且修復它。

在打印堆棧跟蹤之後,很容易找出導致錯誤的原因。

我寫了一篇關於捕捉400和500錯誤的博客文章,以便您可以做更多有趣的事情。

http://blog.yangtheman.com/2012/10/11/user-friendly-500-and-404-pages-on-rails-3/

1

您是否檢查過您的資產正在部署到Heroku中進行預編譯?損壞的資產管道可能會在運行時創建500個錯誤,並且記錄日誌很少。

+0

如果您使用的雪松堆棧,這個環節有關於資產的流水線工作在Heroku上的詳細信息:https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar –

+0

感謝亞倫的評論。我編譯本地和部署,我得到了同樣的錯誤。在預編譯過程中有一些警告,但不知道它們是不是原因... https://gist.github.com/3861115 – yangtheman

+0

不知道是什麼原因造成的,但''不能轉儲匿名類#

相關問題