2011-10-05 67 views
13

很新的rails/heroku。我创建了一个干净的项目来帮助弄清楚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 
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 
+0

谢谢你看看,伙计们。我添加了Heroku日志。如果有什么我不知道它是什么。 – DavidMann10k

+0

janders是正确的,它可能是一个database.yml错误,它阻止它。确保你的gemfile中有正确的宝石,并做一个包以防万一。附:为了以防万一,您可能需要将电子邮件从这些日志中取出。 :) – cbron

+0

好的,我的gemfile似乎最令人怀疑,因为这实际上是我在'generate controller'之前改变的所有东西。我正在准备一份考试复印件。 – DavidMann10k

回答

43

这仅仅是一个普通的Heroku的错误,所以你不显示敏感信息给最终用户的Gemfile。只需在rails root中键入heroku logs,您应该可以看到最新的服务器详细信息,包括您的错误。

如果你需要运行迁移命令是:

heroku run rake db:migrate 

(感谢lampshady)

+1

这就是答案!当我试图耙,我得到错误,并且这导致我[这个答案](http://stackoverflow.com/questions/3747002/heroku-rails-3-and-sqlite3) - 我更新了我的gemfile,推动和倾斜再次。巴姆! – DavidMann10k

+0

甜。这个错误不是很具描述性,但现在你知道了。 – cbron

+0

是的,更重要的是我有一些书签资源,以防止未来我的一些痛苦。谢谢。 – DavidMann10k

0

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

1

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

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

heroku run rake db:migrate 
2

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

heroku rake db:migrate 

    git push heroku master 

    heroku restart 
相关问题