Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 简单测试应用程序部署到Heroku,但赢得了';跑不动_Ruby On Rails_Heroku - Fatal编程技术网

Ruby on rails 简单测试应用程序部署到Heroku,但赢得了';跑不动

Ruby on rails 简单测试应用程序部署到Heroku,但赢得了';跑不动,ruby-on-rails,heroku,Ruby On Rails,Heroku,我是赫罗库的新手。我尝试将一个简单的测试Rails 3.1.1应用程序推送到Heroku。我在“新”Rails应用程序模板中对其所做的唯一更改是创建一个主控制器,并将根指向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:

我是赫罗库的新手。我尝试将一个简单的测试Rails 3.1.1应用程序推送到Heroku。我在“新”Rails应用程序模板中对其所做的唯一更改是创建一个主控制器,并将根指向
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插件:添加日志记录。我还从应用程序中删除了
public/index.html
。当我使用
rails服务器
在本地运行应用程序时,它工作正常。我还可以根据scaffold手动导航到“marks”索引

当我运行heroku open时,我得到的只是标准的
,很抱歉,出现了一些问题。
Rails页面<代码>heroku日志
根本没有显示任何内容


我做错了什么?这和测试用例得到的一样简单,但我在花了几个小时摆弄它、创建新应用程序、删除此应用程序并重试、尝试部署另一个应用程序等之后无法让它工作。

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

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

如果这不起作用,那么这与您的本地机器有关。我刚做完这件事,它在我这边起作用了。请参阅:。如果这没有失败,我会尝试对GEM文件进行更改,看看是否可以让它以这种方式失败。

这里的问题是Rails 3.1资产管道在Bambor-mri-1.9.2上“开箱即用”不起作用,这是您创建
heroku时的默认设置


解决的办法是做heroku创建--stack cedar
,然后推送--“一切都会好起来的:)

我也遇到了同样的问题。看起来你已经找到了问题的症结所在,但对于未来有问题的人,我想指出的是,你在本地应用程序中使用的数据库与live应用程序背后的数据库可能存在差异。在我的例子中,我的本地数据库被填充,我的Heroku站点是空的,因为我没有正确迁移

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


结论:如果数据库中的信息微不足道,我建议将其清除并从中排除故障,因为可能是您部署的站点还没有数据,而且您的代码可能没有正确处理此类异常……

heroku日志中根本没有任何内容吗?你至少应该看到你提出的要求,什么都没有。我输入heroku日志,有一个暂停,然后我看到下一个命令提示符。我会联系heroku支持人员-这里有些不对劲。是的,我可能会这样做。谢谢。默认情况下启用的资产管道将导致应用程序中的问题集
config.assets.enabled=false
。请看下面我的答案。嗯。。。这很有效。让我再次取消我的Heroku帐户,然后用一个带有迁移的普通应用程序再试一次。如果我添加迁移并运行
Heroku rake:db:migrate
,那么迁移似乎进行得很顺利<代码>heroku open再次向我显示“对不起…”页面。我的gem文件只包含默认的源代码行,
gem'rails',3.1.1'
gem'pg'
pg
不是用作数据库适配器的正确gem吗?这是回购协议:
https://github.com/ccheaton/herokutest
注意,当您迁移到cedar时,需要执行heroku运行rake db:migrate。当你点燃它的时候,你会得到的。谢谢!我不知道问题出在哪里,也可能从来没有遇到过。