在rails app中显示错误。关于heroku应用程序的第500页

时间:2010-02-15 17:37:40

标签: ruby-on-rails heroku

我正在Heroku上部署一个应用程序。虽然部署的经验很好,但我很难修复。

第一件事是autoincrement ID在heroku db和我的db之间都搞砸了。因此,在部署之前,我必须从本地应用程序中删除所有数据,然后将我的数据库推送到heroku。如果我不这样做,那么在尝试在heroku应用程序上添加记录时,我会遇到重复的键错误。有没有办法控制轨道中的自动增量id?

第二件事,当heroku应用程序出现错误时。我看到自定义500错误页面。 We're sorry, but something went wrong(500)。有没有办法显示某种错误信息呢?或者我必须依赖于heroku日志?这只是为了开发,所以如果发生一些错误,我只想在页面上看到它。至少有一部分......

我是Heroku和Rails的新手

4 个答案:

答案 0 :(得分:6)

自动增量问题:

使用种子数据是一个更好的解决方案,您可以看到http://railscasts.com/episodes/179-seed-data

错误问题:

在config / environments / production.rb

尝试替换

config.action_controller.consider_all_requests_local = false
config.action_controller.perform_caching             = true
config.action_view.cache_template_loading            = true

通过

config.action_controller.consider_all_requests_local = true
config.action_view.debug_rjs                         = true
config.action_controller.perform_caching             = false

欢呼声

答案 1 :(得分:1)

您可以查看Exception Notification插件,以自定义处理异常的方式。

关于您的数据库问题,您可以push your local database to herok使用heroku db:push

答案 2 :(得分:0)

推送数据是一回事,但您可能还想研究重置序列的方法。在Heroku上他们使用PGSql,所以你必须查看它的文档。

答案 3 :(得分:0)

我遇到了同样的问题,编辑config / environments / production.rb没有帮助。然后我发现由于某种原因,我的Heroku应用程序正在以临时模式运行。我在config / environment / staging.rb中更改了以下行:

config.action_controller.consider_all_requests_local = false

为:

config.action_controller.consider_all_requests_local = true

现在我可以在浏览器中看到异常痕迹了!