Rails应用在Heroku上失败:(没有路由匹配[GET]" /") [英] Rails app fails on Heroku: (No route matches [GET] "/")

查看:131
本文介绍了Rails应用在Heroku上失败:(没有路由匹配[GET]" /")的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

对于Rails和Heroku来说都是新手,我试图按照 Rails教程。该应用在本地运行良好,并显示默认的Rails启动页面。但是,导航到Heroku中的应用网址后,我仍然给了我一个 404 Page Not Found ,尽管它是同一个应用程序,我没有触及路径文件或任何控制器等。
$ b

我使用最新的Ruby(1.9.3)和Rails(4.0.0)在Mac 10.6.8上。



我试过的东西: =https://stackoverflow.com/questions/8865712/rails-3-1-3-on-heroku-no-route-matches-get-assets-rails-png>在Heroku上的Rails 3.1.3:(No路径匹配[GET]/assets/rails.png)我在 config / application.rb 中添加了代码,用于在生产中延迟编译资产:

  if defined?(Bundler)
#如果你想让你的资产在生产中被懒惰地编译,使用这行
Bundler.require(:default,:assets,Rails.env)
end

继答案在 Rails生产静态文件路由错误我修改了 production.rb 确保静态资产得到满足:

  config.serve_static_assets = true 

但我仍然得到了404。

  > 2013-05-31T16:39:41.675219 + 00:00 app [web.1]:ActionController :: RoutingError(No route matches [GET]/):
2013-05-31T16:39:41.675219 +00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / debug_exceptions.rb:21:`call'
2013-05-31T16:39:41.675513 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / rack / logger.rb :21:在`call'
2013-05-31T16:39:41.675219 + 00:00 app [web.1]:F,[2013-05-31T16:32:49.152450#2]致命 - :
2013-05-31T16:39:41.675513 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / request_id.rb:21:在`call'
2013-05-31T16:39:41.675513 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5。 2 / lib / rack / methodoverride.rb:21:在`call'
2013-05-31T16:39:41.675513 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 /宝石/的ActiveSupport-4.0.0.rc1 / lib中/ AC tive_support / tagged_logging.rb:67:在`block in tagged'
2013-05-31T16:39:41.676016 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / debug_exceptions.rb:21:在`call'
2013-05-31T16:39:41.675513 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib / active_support / tagged_logging.rb:25:在`tagged'
2013-05-31T16:39:41.675513 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / static.rb:64:in`call'
2013-05- 31T16:39:41.675777 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / handler / webrick.rb:60:
2013-05-31T16:39:41.675513 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib / active_support / tagged_logging。 rb:67:在`tagged'
2013-05-31T16:39:41.675777 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / lock.rb:17:在`call'
2013-05-31T16:39:41.676016 +00:00 app [web.1]:F,[2013-05-31T16:32:52.415675#2]致命 - :
2013-05-31T16:39:41.675513 + 00:00 app [web .1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / runtime.rb:17:in`call'
2013-05-31T16:39:41.675777+ 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / content_length.rb:14:在`call'
2013-05- 31T16:39:41.675777 + 00:00 app [web.1]:
2013-05-31T16:39:41.675777 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / engine.rb:511:在`call'中
2013-05-31T16:39:41.675777 + 00:00 app [web.1]:
2013-05-31T16:39:41.676016 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib / active_support / tagged_logging.rb: 67:在`block in tag'
2013-05-31T16:39:41.675777 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0。 rc1 / lib / rails / application.rb:96:in`call'
2013-05-31T16:39:41.675777 + 00:00 app [web.1]:vendor / ruby​​-1.9.3 / lib / ruby / 1.9.1 / webrick / httpserver.rb:138:在`服务中'
2013-05-31T16:39:41.675777 + 00:00 app [web.1]:vendor / ruby​​-1.9.3 / lib / ruby​​ / 1.9.1 / webrick / httpserver.rb:94:in `run'
2013-05-31T16:39:41.676016 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch /middleware/show_exceptions.rb:30:in`call'
2013-05-31T16:39:41.675513 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport -4.0.0.rc1 / lib / active_support / cache / strategy / local_cache.rb:83:在`call'
2013-05-31T16:39:41.676016 + 00:00 app [web.1]:I ,[2013-05-31T16:32:52.414612#2]信息 - :在2013-05-31 16:32:52 +0000
开始GET/为67.244.94.162 2013-05-31T16: 39:41.676016 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / rack / logger.rb:21:in`block in call'
2013-05-31T16:39:41.676016 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / rack / logger.rb:38:`call_app'
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / a ctionpack-4.0.0.rc1 / lib / action_dispatch / middleware / static.rb:64:in`call'
2013-05-31T16:39:41.676016 + 00:00 app [web.1]:ActionController: :RoutingError(没有路由匹配[GET]/):
2013-05-31T16:39:41.676016 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib / active_support / tagged_logging.rb:25:在`tagged'
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / ruby / 1.9.1 / gems / rack-1.5.2 / lib / rack / lock.rb:17:在`call'
2013-05-31T16:39:41.676253 + 00:00 app [web.1 ]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / request_id.rb:21:`call'
2013-05-31T16:39: 41.675777 + 00:00 app [web.1]:vendor / ruby​​-1.9.3 / lib / ruby​​ / 1.9.1 / webrick / server.rb:191:在`block in start_thread'
2013-05- 31T16:39:41.676016 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib / active_support / tagged_logging.rb:67:
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / rub y / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / application.rb:96:在`call'
2013-05-31T16:39:41.676490 + 00:00 app [web .1]:
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib /在'call'
2013-05-31T16:39:41.676490 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / handler / webrick.rb:60:在`service'
2013-05-31T16:39:41.676490 + 00:00 app [web.1]:
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / methodoverride.rb:21:在`call'
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / content_length.rb:14:`call'
2013-05-31T16:39:41.676490 + 00:00 app [web.1]:vendor / ruby​​-1.9.3 / lib / ruby​​ / 1.9.1 / webrick / httpserver.rb:94:'run'
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack- 1.5.2 / lib / rack / runtime.rb:17:在`调用
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / engine。 rb:511:在`call'
2013-05-31T16:39:41.676490 + 00:00 app [web.1]:vendor / ruby​​-1.9.3 / lib / ruby​​ / 1.9.1 / webrick /
2013-05-31T16:39:41.676490 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack- 4.0.0.rc1 / lib / action_dispatch / middleware / debug_exceptions.rb:21:在`call'
2013-05-31T16:39:41.676253 + 00:00 app [web.1]:vendor / bundle / ruby / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / rack / logger.rb:21:在`call'
2013-05-31T16:39:41.676490 + 00:00 app [web.1]:我,[2013-05-31T16:38:42.543864#2]信息 - :在2013-05-31 16:38:42 +0000 $ b $开始GET/为67.244.94.162 b 2013-05-31T16:39:41.676725 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / rack / logger.rb :21:在`call'
2013-05-31T16:39:41.676725 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib /rack/runtime.rb:17 :in`call'
2013-05-31T16:39:41.676725 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib /active_support/tagged_logging.rb:67:in`tagged'
2013-05-31T16:39:41.676725 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties -4.0.0.rc1 / lib / rails / rack / logger.rb:38:在`call_app'
2013-05-31T16:39:41.676490 + 00:00 app [web.1]:ActionController :: RoutingError(没有路由匹配[GET]/):
2013-05-31T16:39:41.676725 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack -4.0.0.rc1 / lib / action_dispatch / middleware / show_exceptions.rb:30:在`call'
2013-05-31T16:39:41.676725 + 00:00 app [web.1]:vendor / bundle /ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in`block in tagged'
2013-05-31T16:39:41.676725 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib / active_support / tagged_logging.rb:25:在`tagged'
2013-05-31T16 :39:41.676725 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9 .1 / gems / rack-1.5.2 / lib / rack / methodoverride.rb:21:在`call'
2013-05-31T16:39:41.676490 + 00:00 app [web.1]:vendor /ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in`service'
2013-05-31T16:39:41.676490 + 00:00 app [web.1] :F,[2013-05-31T16:38:42.544833#2]致命 - :
2013-05-31T16:39:41.677196 + 00:00应用[web.1]:
2013- 05-31T16:39:41.677196 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / debug_exceptions.rb:21:在`call'
2013-05-31T16:39:41.676961 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib /主动支持/缓存/战略/ local_cache.rb:83:在`调用'
2013-05-31T16:39:41.676961 + 00:00应用[web.1]:vendor / bundle / ruby​​ / 1.9.1 / gem / rack-1.5.2 / lib / rack / content_length.rb:14:在`call'
2013-05-31T16:39:41.676961 + 00:00 app [web.1]:vendor / ruby​​- 1.9.3 / lib / ruby​​ / 1.9.1 / webrick / httpserver.rb:138:在'service'中
2013-05-31T16:39:41.676961 + 00:00 app [web.1]:vendor /红宝石1 .9.3 / lib / ruby​​ / 1.9.1 / webrick / httpserver.rb:94:在'run'中
2013-05-31T16:39:41.677196 + 00:00 app [web.1]:vendor / bundle /ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in`block in tagged'
2013-05-31T16:39:41.677432 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / request_id.rb:21:`call'
2013-05 -31T16:39:41.677196 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / show_exceptions.rb:30:in `call'
2013-05-31T16:39:41.677665 + 00:00 app [web.1]:vendor / ruby​​-1.9.3 / lib / ruby​​ / 1.9.1 / webrick / httpserver.rb:94 :在`run'
2013-05-31T16:39:41.676961 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib /action_dispatch/middleware/static.rb:64:in`call'
2013-05-31T16:39:41.677196 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems /railties-4.0.0.rc1/lib/rails/rack/logger.rb:38:in`call_app'
2013-05-31T16: 39:41.677432 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / methodoverride.rb:21:`call'
2013-05-31T16:39:41.676961 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / engine.rb:511: '`call'
2013-05-31T16:39:41.676961 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / lock.rb:17:在`call'
2013-05-31T16:39:41.677196 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0。 0.rc1 / lib / rails / rack / logger.rb:21:在`block in call'中
2013-05-31T16:39:41.677432 + 00:00 app [web.1]:vendor / bundle / ruby / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / rack / logger.rb:21:在`call'
2013-05-31T16:39:41.677432 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / engine.rb:511:在`call'
2013-05-31T16: 39:41.677665 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / rack-1.5.2 / lib / rack / lock.rb:17:在`call'
2013-05-31T16:39:41.676725 + 00:00 app [web.1]:vendor / bundle / rub y / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails / rack / logger.rb:21:在`block in call'中
2013-05-31T16:39:41.676725 + 00: 00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0.0.rc1 / lib / action_dispatch / middleware / request_id.rb:21:`call'
2013- 05-31T16:39:41.676961 + 00:00 app [web.1]:vendor / ruby​​-1.9.3 / lib / ruby​​ / 1.9.1 / webrick / server.rb:191:在`block in start_thread'
2013-05-31T16:39:41.677196 + 00:00 app [web.1]:
2013-05-31T16:39:41.677196 + 00:00 app [web.1]:I,[2013 -05-31T16:39:41.674148#2]信息 - :开始GET/为67.244.94.162于2013-05-31 16:39:41 +0000
2013-05-31T16:39:41.676969 +00:00 heroku [router]:at = info method = GET path = / host = floating-refuge-5703.herokuapp.com fwd =67.244.94.162dyno = web.1 connect = 0ms service = 5ms status = 404 bytes = 1351
2013-05-31T16:39:41.676961 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / railties-4.0.0.rc1 / lib / rails /application.rb:96:in`call'
2013-05-31T16:39:41.676961 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1 .9.1 / gems / rack-1.5.2 / lib / rack / handler / webrick.rb:60:在'service'中
2013-05-31T16:39:41.677196 + 00:00 app [web.1] :ActionController :: RoutingError(没有路由匹配[GET]/):
2013-05-31T16:39:41.677432 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 /gems/rack-1.5.2/lib/rack/runtime.rb:17:in`call'
2013-05-31T16:39:41.677665 + 00:00 app [web.1]:vendor / bundle /ruby/1.9.1/gems/rack-1.5.2/lib/rack/content_length.rb:14:in`call'
2013-05-31T16:39:41.677432 + 00:00 app [web。 1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib / active_support / tagged_logging.rb:67:在`tagged'
2013-05-31T16:39:41.677665 +00:00 app [web.1]:
2013-05-31T16:39:41.677432 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / actionpack-4.0 .0.rc1 / lib / action_dispatch / middleware / static.rb:64:in`call'
2013-05-31T16:39:41.677665 + 00:00 app [web.1]:vendor / bundle / ruby /1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in`service'
2013-05-31T16:39:41.677432 + 00:00 app [web。 1]: vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 / lib / active_support / cache / strategy / local_cache.rb:83:在`call'
2013-05-31T16:39: 41.677665 + 00:00 app [web.1]:vendor / ruby​​-1.9.3 / lib / ruby​​ / 1.9.1 / webrick / httpserver.rb:138:在'service'
2013-05-31T16: 39:41.677665 + 00:00 app [web.1]:
2013-05-31T16:39:41.677196 + 00:00 app [web.1]:F,[2013-05-31T16:39:41.675079 #2]致命 - :
2013-05-31T16:39:41.677432 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems / activesupport-4.0.0.rc1 /lib/active_support/tagged_logging.rb:25:in`tagged'
2013-05-31T16:39:41.677432 + 00:00 app [web.1]:vendor / bundle / ruby​​ / 1.9.1 / gems /railties-4.0.0.rc1/lib/rails/application.rb:96:in`call'
2013-05-31T16:39:41.677665 + 00:00 app [web.1]:vendor / ruby


<解决方案首先,Rails4应用程序不再提供public / index.html app / assets / rails.png ,因为这些文件现在由第二,我会建议你忽略中给出的建议。

问题你因为它与rails4没有任何相关性。如果您使用的是heroku,则不需要编译您的资产。当你将应用推送给他们时,他们会为你做。当您运行 rake资产时,您可能需要删除您创建的公共/资产文件夹:precompile ,因为它只会妨碍您的操作



第三,删除您添加到config / application.rb的代码,因为自己动手通过添加以下内容到您的Gemfile中:

$ p $ gem'rails_log_stdout',github:'heroku / rails_log_stdout'
gem' rails3_serve_static_assets',github:'heroku / rails3_serve_static_assets'

第五,您正在使用Webrick服务器。 Heroku建议您切换到Unicorn



最后,不要担心Heroku中未显示默认的Rails登录页面。这可能是他们系统中的一个错误,它发生在我身上,它会发生在下一个人身上,如果他也尝试过,那么Matz很有可能会发生。这没什么大不了的。继续前进。您的应用程序已准备好开始开发您自己的登录页面。



祝您好运,值得的是,这里有一个非常简单的示例,为heroku优化了Gemfile:

  source'https://rubygems.org'

#您正在使用Ruby 1.9.3,更适合2.0.0升级速度更快
ruby​​'2.0.0'

gem'rails','4.0.0.rc1'
gem'sass-rails','〜 > 4.0.0.rc1'
gem'uglifier','> = 1.3.0'
gem'coffee-rails','〜> 4.0.0'
gem'jquery-rails'
gem'turbolinks'
gem'jbuilder','〜> 1.0.1'

#asset_sync gem值得使用
#,但您应该在决定
#之前阅读更多关于它的信息https://github.com/rumblelabs/asset_sync
#gem'asset_sync'

#只想在开发和测试环境中使用sqlite
group:development,:test do
gem'sqlite3'
end

group:production do
gem'pg'#不要在生产中使用sqlite
gem'unicorn'#确保您遵循此gem的安装说明
gem' rails_log_stdout',github:'heroku / rails_log_stdout'
gem'rails3_serve_static_assets',github:'heroku / rails3_serve_static_assets'
结束

组:doc do
gem'sdoc ',要求:false
end


Newbie to both Rails and Heroku, and I'm trying to deploy a simple app by following the step-by-step instructions in the Rails Tutorial. The app runs fine locally and shows the default Rails starter page. But navigating to the app url in Heroku keeps giving me a 404 Page Not Found, even though it's the same app and I haven't touched the routes files or any controllers etc.

I'm on a Mac 10.6.8 with the latest Ruby (1.9.3) and Rails (4.0.0).

Things I've Tried:

Following the answer in Rails 3.1.3 on Heroku: (No route matches [GET] "/assets/rails.png") I added code to config/application.rb for lazily compiling assets in production:

if defined?(Bundler)
  # If you want your assets lazily compiled in production, use this line
  Bundler.require(:default, :assets, Rails.env)
end

Following the answer in Rails production static files routing error I modified production.rb to ensure static assets were being served:

config.serve_static_assets = true

But I still get the 404. What else can I try?

Heroku Log:

2013-05-31T16:39:41.675219+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/"):
2013-05-31T16:39:41.675219+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:21:in `call'
2013-05-31T16:39:41.675219+00:00 app[web.1]: F, [2013-05-31T16:32:49.152450 #2] FATAL -- : 
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in `block in tagged'
2013-05-31T16:39:41.676016+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:25:in `tagged'
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/static.rb:64:in `call'
2013-05-31T16:39:41.675777+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in `tagged'
2013-05-31T16:39:41.675777+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call'
2013-05-31T16:39:41.676016+00:00 app[web.1]: F, [2013-05-31T16:32:52.415675 #2] FATAL -- : 
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
2013-05-31T16:39:41.675777+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
2013-05-31T16:39:41.675777+00:00 app[web.1]: 
2013-05-31T16:39:41.675777+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/engine.rb:511:in `call'
2013-05-31T16:39:41.675777+00:00 app[web.1]: 
2013-05-31T16:39:41.676016+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in `block in tagged'
2013-05-31T16:39:41.675777+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/application.rb:96:in `call'
2013-05-31T16:39:41.675777+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
2013-05-31T16:39:41.675777+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
2013-05-31T16:39:41.676016+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2013-05-31T16:39:41.675513+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/cache/strategy/local_cache.rb:83:in `call'
2013-05-31T16:39:41.676016+00:00 app[web.1]: I, [2013-05-31T16:32:52.414612 #2]  INFO -- : Started GET "/" for 67.244.94.162 at 2013-05-31 16:32:52 +0000
2013-05-31T16:39:41.676016+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:21:in `block in call'
2013-05-31T16:39:41.676016+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:38:in `call_app'
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/static.rb:64:in `call'
2013-05-31T16:39:41.676016+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/"):
2013-05-31T16:39:41.676016+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:25:in `tagged'
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call'
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2013-05-31T16:39:41.675777+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
2013-05-31T16:39:41.676016+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in `tagged'
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/application.rb:96:in `call'
2013-05-31T16:39:41.676490+00:00 app[web.1]: 
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/cache/strategy/local_cache.rb:83:in `call'
2013-05-31T16:39:41.676490+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
2013-05-31T16:39:41.676490+00:00 app[web.1]: 
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
2013-05-31T16:39:41.676490+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/engine.rb:511:in `call'
2013-05-31T16:39:41.676490+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
2013-05-31T16:39:41.676490+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2013-05-31T16:39:41.676253+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:21:in `call'
2013-05-31T16:39:41.676490+00:00 app[web.1]: I, [2013-05-31T16:38:42.543864 #2]  INFO -- : Started GET "/" for 67.244.94.162 at 2013-05-31 16:38:42 +0000
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:21:in `call'
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in `tagged'
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:38:in `call_app'
2013-05-31T16:39:41.676490+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/"):
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in `block in tagged'
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:25:in `tagged'
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
2013-05-31T16:39:41.676490+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
2013-05-31T16:39:41.676490+00:00 app[web.1]: F, [2013-05-31T16:38:42.544833 #2] FATAL -- : 
2013-05-31T16:39:41.677196+00:00 app[web.1]: 
2013-05-31T16:39:41.677196+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/cache/strategy/local_cache.rb:83:in `call'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
2013-05-31T16:39:41.677196+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in `block in tagged'
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2013-05-31T16:39:41.677196+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2013-05-31T16:39:41.677665+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/static.rb:64:in `call'
2013-05-31T16:39:41.677196+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:38:in `call_app'
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/engine.rb:511:in `call'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call'
2013-05-31T16:39:41.677196+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:21:in `block in call'
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:21:in `call'
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/engine.rb:511:in `call'
2013-05-31T16:39:41.677665+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call'
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/rack/logger.rb:21:in `block in call'
2013-05-31T16:39:41.676725+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
2013-05-31T16:39:41.677196+00:00 app[web.1]: 
2013-05-31T16:39:41.677196+00:00 app[web.1]: I, [2013-05-31T16:39:41.674148 #2]  INFO -- : Started GET "/" for 67.244.94.162 at 2013-05-31 16:39:41 +0000
2013-05-31T16:39:41.676969+00:00 heroku[router]: at=info method=GET path=/ host=floating-refuge-5703.herokuapp.com fwd="67.244.94.162" dyno=web.1 connect=0ms service=5ms status=404 bytes=1351
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/application.rb:96:in `call'
2013-05-31T16:39:41.676961+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
2013-05-31T16:39:41.677196+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/"):
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
2013-05-31T16:39:41.677665+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:67:in `tagged'
2013-05-31T16:39:41.677665+00:00 app[web.1]: 
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/actionpack-4.0.0.rc1/lib/action_dispatch/middleware/static.rb:64:in `call'
2013-05-31T16:39:41.677665+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/cache/strategy/local_cache.rb:83:in `call'
2013-05-31T16:39:41.677665+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
2013-05-31T16:39:41.677665+00:00 app[web.1]: 
2013-05-31T16:39:41.677196+00:00 app[web.1]: F, [2013-05-31T16:39:41.675079 #2] FATAL -- : 
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/activesupport-4.0.0.rc1/lib/active_support/tagged_logging.rb:25:in `tagged'
2013-05-31T16:39:41.677432+00:00 app[web.1]:   vendor/bundle/ruby/1.9.1/gems/railties-4.0.0.rc1/lib/rails/application.rb:96:in `call'
2013-05-31T16:39:41.677665+00:00 app[web.1]:   vendor/ruby-1.9.3/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'

解决方案

First of all Rails4 apps no longer serve public/index.html, or app/assets/rails.png, as those files are now handled by the rails gem itself, so you can safely ignore all talk relating to them.

Secondly, I would advise you to ignore the advice given in the question you linked to as it's not at all relevant for rails4. You will not need to procompile your assets if you're using heroku. They do it for you when you push your app to them. It's probably worth removing the public/assets folder that you created when your ran rake assets:precompile as it will just get in the way

Thirdly, remove the code you added to config/application.rb as there is no assets group in Rails 4

Fourthly, heroku used to inject a plugin for serving static assets into your app, but now you need to do that yourself by adding the following to your Gemfile:

gem 'rails_log_stdout',           github: 'heroku/rails_log_stdout'
gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'

Fifthly, you are using Webrick server. Heroku advise you to switch to Unicorn.

Lastly, don't worry about the default Rails landing page not being shown on Heroku. It might be a bug in their system, it happened to me, it will happen to the next guy, it would more than likely happen to Matz if he tried it too. It's no big deal. Just move on. Your app is ready for you to start developing your own landing page.

Good luck and for what it's worth, here's a very simple example Gemfile optimised for heroku:

source 'https://rubygems.org'

# you are using Ruby 1.9.3, better to 2.0.0 upgrade for more speed
ruby '2.0.0'

gem 'rails', '4.0.0.rc1'    
gem 'sass-rails', '~> 4.0.0.rc1'    
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.0.0'
gem 'jquery-rails'
gem 'turbolinks'    
gem 'jbuilder', '~> 1.0.1'

# The asset_sync gem is WELL worth using
# but you should read more about it before deciding
# https://github.com/rumblelabs/asset_sync
# gem 'asset_sync'

# only want sqlite in dev and test envs
group :development, :test do
  gem 'sqlite3'
end

group :production do
  gem 'pg' # dont want sqlite in production
  gem 'unicorn' # make sure you follow installation instructions for this gem
  gem 'rails_log_stdout',           github: 'heroku/rails_log_stdout'
  gem 'rails3_serve_static_assets', github: 'heroku/rails3_serve_static_assets'
end

group :doc do
  gem 'sdoc', require: false
end

这篇关于Rails应用在Heroku上失败:(没有路由匹配[GET]&quot; /&quot;)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆