我是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
完全没有告诉我任何事情。
我在这里做错了什么?这就像测试用例一样简单,但是在使用它几个小时,创建新应用程序,删除此应用程序并再次尝试,尝试部署其他应用程序等之后,我无法让它工作。
答案 0 :(得分:2)
这里的问题是,当你执行heroku create
时,Rails 3.1资产管道在Bamboo-mri-1.9.2上不能“开箱即用”。
解决方案是heroku create --stack cedar
然后推 - 然后一切都会好的。)
答案 1 :(得分:1)
尝试这样做只是为了看看是否有效:
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进行更改,看看是否可以通过这种方式使其失败。
答案 2 :(得分:0)
我遇到了同样的问题。看起来你已陷入问题的根源,但对于未来的问题,我想指出,这可能是您用于本地应用程序的数据库与实时应用程序背后的数据库之间的差异。在我的情况下,我的本地数据库已填充,我的Heroku站点是空的,因为我没有正确迁移。
这个问题只有在我运行" rake db:reset"在终端中,(清除我本地应用程序数据库中的所有数据),之后我能够轻松找到代码中的错误。
结论:如果您的数据库中的信息可以忽略不计,我建议您从中清除它并进行故障排除,因为您可能部署的网站可能还没有数据,也许您的代码没有正确处理这种异常.......