【问题标题】:Heroku deployment - dead pages "We're sorry, but something went wrong."Heroku 部署 - 死页 “我们很抱歉,但出了点问题。”
【发布时间】:2011-12-01 21:58:21
【问题描述】:

Rails/heroku 的新手。我创建了一个干净的项目来帮助弄清楚 Heroku 到底发生了什么。然后我添加一个:

rails generate controller Pages home contact

http://localhost:3000/pages/home 完全符合我们的预期。提交,推送到 git,推送到 heroku。在heroku上打开页面,它返回错误页面:“我们很抱歉,但出了点问题。”

heroku 日志似乎没有任何有趣的东西,并且异常并没有记录任何不好的事情正在发生。

更新:我已将日志简化为违规位的示例。

2011-10-06T01:06:05+00:00 app[web.1]: Started GET "/pages/home" for 97.87.14.192 at 2011-10-05 18:06
:05 -0700
2011-10-06T01:06:05+00:00 app[web.1]:
2011-10-06T01:06:05+00:00 app[web.1]: ActiveRecord::ConnectionNotEstablished (ActiveRecord::Connecti
onNotEstablished):
2011-10-06T01:06:05+00:00 app[web.1]:
2011-10-06T01:06:05+00:00 app[web.1]:
2011-10-06T01:06:05+00:00 app[web.1]:
2011-10-06T01:06:05+00:00 app[web.1]: cache: [GET /pages/home] miss

这是我正在运行的 gemfile

# gemfile
source 'http://rubygems.org'

gem 'rails', '3.1.0'

group :test do
  gem 'sqlite3-ruby', :require => 'sqlite3'
  gem 'rspec-rails', '2.6.1'
  gem 'webrat', '0.7.1'
end

group :development, do
  gem 'sqlite3-ruby', :require => 'sqlite3'
  gem 'rspec-rails', '2.6.1'
end

【问题讨论】:

  • 感谢大家观看。我添加了 Heroku 日志。如果那里有什么我不知道是什么。
  • janders 是对的,它可能是阻止它的 database.yml 错误。确保您的 gemfile 中有正确的 gem,并打包以防万一。 p.s.以防万一,您可能希望从这些日志中删除您的电子邮件。 :)
  • 好吧,我的 gemfile 似乎最可疑,因为这实际上是我在generate controller 之前所做的所有更改。我把它的副本拿出来检查一下。
  • 你做了heroku rake db:migrate 吗?这可能会对您有所帮助:devcenter.heroku.com/articles/quickstart#prerequisites

标签: ruby-on-rails heroku


【解决方案1】:

这只是一般的 heroku 错误,因此您不会向最终用户显示敏感信息。只需在 rails root 中输入heroku logs,您应该会看到最新的服务器详细信息,包括您的错误。

如果你必须运行迁移,命令是:

heroku run rake db:migrate

(感谢灯罩)

【讨论】:

  • 这就是答案,有点!我在尝试 rake 时遇到了错误,这导致我转到 this answer - 我更新了我的 gemfile,再次推送和 rake。砰!
  • 是的,更重要的是,我有一些资源被标记为书签,以防止将来我感到痛苦。谢谢。
【解决方案2】:

在 heroku 上迁移您的数据库,然后重新部署应用程序并重新启动 heroku 服务器。这就是你需要做的。

  heroku rake db:migrate

  git push heroku master

  heroku restart

【讨论】:

    【解决方案3】:

    运行日志“heroku logs”,有一个关键的赠品:PG::Error: ERROR: relation "<Rails Model>" does not exist。此条目表明您的模型无法加载。

    为了更新以前的答案,heroku rake 已被弃用。 Heroku 要求:

    heroku run rake db:migrate
    

    【讨论】:

      【解决方案4】:

      来自您的 heroku 日志 ActiveRecord::ConnectionNotEstablished (ActiveRecord::Connecti onNotEstablished):。在Rails API Doc 中,当无法建立与数据库的连接时会引发此错误。我猜你的错误可能在你的database.yml 文件中,很可能参数没有为你的生产数据库设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-29
        • 2012-04-19
        • 2012-06-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-22
        • 1970-01-01
        相关资源
        最近更新 更多