1

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

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

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

我是 Heroku 和 Rails 的新手

4

4 回答 4

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

干杯

于 2010-02-16T13:41:15.827 回答
1

您可以检查异常通知插件来自定义异常的处理方式。

关于您的数据库问题,您可以使用heroku db:push

于 2010-02-15T17:42:43.467 回答
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

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

于 2012-01-02T19:02:13.577 回答
0

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

于 2010-06-21T11:52:02.577 回答