这让我疯了。开发环境中没有错误。部署到Amazon EC2时,生产环境中没有错误。
然而,在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错误的原因?
感谢您的帮助。
答案 0 :(得分: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 :(得分:1)
您是否检查过您的资产是否在部署到Heroku时进行了预编译?破坏的资产管道可以在运行时创建500个错误,几乎没有记录说明。