对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
答案 0 :(得分:44)
这只是一个通用的heroku错误,因此您不会向最终用户显示敏感信息。只需在rails root中键入heroku logs
,您就会看到最新的服务器详细信息,包括您的错误。
如果必须运行迁移,则命令为:
heroku run rake db:migrate
(感谢灯罩)
答案 1 :(得分:2)
在heroku上迁移数据库,然后重新部署应用程序并重新启动heroku服务器。这就是你需要做的一切。
heroku rake db:migrate
git push heroku master
heroku restart
答案 2 :(得分:1)
运行日志“heroku logs
”,有一个关键的赠品:PG::Error: ERROR: relation "<Rails Model>" does not exist
。此条目表明您的模型无法加载。
要提供以前答案的更新,我们已弃用heroku rake
。 Heroku要求:
heroku run rake db:migrate
答案 3 :(得分:0)
来自您的heroku日志ActiveRecord::ConnectionNotEstablished (ActiveRecord::Connecti
onNotEstablished):
。从Rails API Doc,当无法建立与数据库的连接时,会引发此错误。我猜您的错误可能在您的database.yml
文件中,很可能是没有为您的生产数据库设置的参数。