简单的测试应用程序部署到Heroku但不会运行

我是Heroku的新手。 我尝试将一个简单的测试Rails 3.1.1应用程序推送到Heroku。 我从“新”Rails应用程序模板中对其进行的唯一更改是创建一个Home控制器并将根指向home#index 。 我也跑了

 rails g scaffold Mark type:string start_time:datetime end_time:datetime subject:string measure:float special_event:boolean flag:boolean in_progress:boolean 

这样我就可以运行数据库迁移和测试,以确保所有内容都正确显示。 我做的最后一个更改是Gemfile,现在看起来像这样:

 source 'http://rubygems.org' gem 'rails', '3.1.1' group :development do gem 'sqlite3' end group :production do gem 'pg' end group :assets do gem 'sass-rails', '~> 3.1.4' gem 'coffee-rails', '~> 3.1.1' gem 'uglifier', '>= 1.0.3' end gem 'jquery-rails' 

为此我遵循了Heroku教程。 推动工作,没有报告错误。 我运行了heroku rake db:migrate heroku addons:add logging 。 我还从应用程序中删除了public/index.html 。 当我使用rails server本地运行应用程序时,它工作正常。 我也可以根据脚手架手动导航到“标记”索引。

当我heroku open ,我得到的只是标准We're sorry, but something went wrong. Rails页面。 heroku logs根本没有显示任何内容。

我在这做错了什么? 这就像测试用例一样简单,但是在摆弄了几个小时,创建新应用程序,删除此应用程序并再次尝试,尝试部署其他应用程序等之后,我无法让它工作。

这里的问题是Rails 3.1资产管道在Bamboo-mri-1.9.2上不能“开箱即用”,这是你做heroku create时的默认设置。

解决方案是做heroku create --stack cedar然后推 – 一切都会好的然后:)

尝试这样做只是为了看看它是否有效:

 rails new stackoverflow cd stackoverflow/ git init git add . git commit -m 'all' git remote add origin git@github.com:noahc/stackoverflow.git #you'll need to change this git push origin master heroku create git push heroku master heroku open 

如果这不起作用,那么它与您的本地机器有关。 我刚刚完成了这个,它在我的最后工作。 请参阅: http : //gentle-dawn-1050.heroku.com 。 如果这没有失败,我会尝试对GemFile进行更改,看看是否可以通过这种方式使其失败。

我有同样的问题。 看起来你已陷入问题的根源,但对于未来的问题,我想指出,这可能是您用于本地应用程序的数据库与实时应用程序背后的数据库之间的差异。 在我的情况下,我的本地数据库已填充,我的Heroku站点是空的,因为我没有正确迁移。

当我在终端中运行“rake db:reset”(清除本地应用程序数据库中的所有数据)时,这个问题才变得明显,之后我能够轻松找到代码中的错误。

结论:如果您的数据库中的信息可以忽略不计,我建议从那里清除它并进行故障排除,因为可能是您部署的站点还没有数据,也许您的代码无法正确处理有点例外…….