我正在Heroku上部署一个应用程序。虽然部署的经验很好,但我很难修复。
第一件事是autoincrement
ID在heroku db和我的db之间都搞砸了。因此,在部署之前,我必须从本地应用程序中删除所有数据,然后将我的数据库推送到heroku。如果我不这样做,那么在尝试在heroku应用程序上添加记录时,我会遇到重复的键错误。有没有办法控制轨道中的自动增量id?
第二件事,当heroku应用程序出现错误时。我看到自定义500错误页面。 We're sorry, but something went wrong
(500)。有没有办法显示某种错误信息呢?或者我必须依赖于heroku日志?这只是为了开发,所以如果发生一些错误,我只想在页面上看到它。至少有一部分......
我是Heroku和Rails的新手
答案 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
现在我可以在浏览器中看到异常痕迹了!