1

我正在尝试在 heroku 上部署一个示例 rails 应用程序。在创建一个非常基本的应用程序、添加一个 git 存储库、提交所有内容和“heroku create”之后,我将它推送到 heroku。终端中完全没有错误,但是当我使用正确的地址打开浏览器时,我得到以下信息:

The page you were looking for doesn't exist.

You may have mistyped the address or the page may have moved.

我已经搜索了三个小时并使用了关于如何部署应用程序的 heroku 教程,但我就是不知道我做错了什么。这是我的 Gemfile:

source 'https://rubygems.org'

ruby '2.0.0'

gem 'rails', '4.0.0.beta1'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'json'

group :production do
  gem 'pg'
  gem 'rails', '4.0.0.beta1'
  gem 'railties', '4.0.0.beta1'
end

# Gems used only for assets and not required
# in production environments by default.
group :assets do
  #gem 'sass-rails',   '~> 3.2.3'
  gem 'sass-rails',   '~> 4.0.0.beta1'
  #gem 'coffee-rails', '~> 3.2.1'
  gem 'coffee-rails', '~> 4.0.0.beta1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer', :platforms => :ruby

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

上面的步骤我重复了几次,还是不行。谢谢!

编辑:添加了heroku控制台日志:

2013-04-13T14:15:14.800540+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/commands/server.rb:80:in `start'
2013-04-13T14:15:14.801066+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/commands.rb:73:in `<top (required)>'
2013-04-13T14:15:14.801066+00:00 app[web.1]:    script/rails:6:in `<main>'
2013-04-13T14:15:14.801375+00:00 app[web.1]: [2013-04-13 14:15:14] INFO  going to shutdown ...
2013-04-13T14:15:14.801542+00:00 app[web.1]: [2013-04-13 14:15:14] INFO  WEBrick::HTTPServer#start done.
2013-04-13T14:15:14.801066+00:00 app[web.1]:    script/rails:6:in `require'
2013-04-13T14:15:14.800540+00:00 app[web.1]:    /app/vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/commands.rb:73:in `tap'
2013-04-13T14:15:14.822878+00:00 app[web.1]: => Booting WEBrick
2013-04-13T14:15:14.822878+00:00 app[web.1]: => Rails 4.0.0.beta1 application starting in production on http://0.0.0.0:44478
2013-04-13T14:15:14.822878+00:00 app[web.1]: => Call with -d to detach
2013-04-13T14:15:14.822878+00:00 app[web.1]: => Ctrl-C to shutdown server
2013-04-13T14:15:14.822878+00:00 app[web.1]: 
2013-04-13T14:15:14.822878+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/"):
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:21:in `block in call'
2013-04-13T14:15:14.822878+00:00 app[web.1]: Started GET "/" for 178.25.122.239 at 2013-04-13 14:02:08 +0000
2013-04-13T14:15:14.822878+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:38:in `call_app'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:21:in `call'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:67:in `tagged'
2013-04-13T14:15:14.822878+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:25:in `tagged'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
2013-04-13T14:15:14.823433+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/engine.rb:510:in `call'
2013-04-13T14:15:14.823433+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/application.rb:96:in `call'
2013-04-13T14:15:14.823433+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
2013-04-13T14:15:14.823433+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
2013-04-13T14:15:14.822878+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2013-04-13T14:15:14.823433+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:67:in `block in tagged'
2013-04-13T14:15:14.823433+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
2013-04-13T14:15:14.823204+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
2013-04-13T14:15:14.823433+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
2013-04-13T14:15:14.823433+00:00 app[web.1]: 
2013-04-13T14:15:14.823433+00:00 app[web.1]: Started GET "/" for 178.25.122.239 at 2013-04-13 14:04:08 +0000
2013-04-13T14:15:14.823433+00:00 app[web.1]: 
2013-04-13T14:15:14.823657+00:00 app[web.1]: 
2013-04-13T14:15:14.823657+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/"):
2013-04-13T14:15:14.823657+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2013-04-13T14:15:14.823657+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2013-04-13T14:15:14.823657+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:38:in `call_app'
2013-04-13T14:15:14.823657+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:21:in `block in call'
2013-04-13T14:15:14.823657+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:67:in `block in tagged'
2013-04-13T14:15:14.823657+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:25:in `tagged'
2013-04-13T14:15:14.823657+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:67:in `tagged'
2013-04-13T14:15:14.823657+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:21:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/engine.rb:510:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/application.rb:96:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
2013-04-13T14:15:14.823871+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
2013-04-13T14:15:14.824082+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
2013-04-13T14:15:14.824082+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
2013-04-13T14:15:14.824082+00:00 app[web.1]: 
2013-04-13T14:15:14.824082+00:00 app[web.1]: 
2013-04-13T14:15:14.824082+00:00 app[web.1]: Started GET "/favicon.ico" for 178.25.122.239 at 2013-04-13 14:04:09 +0000
2013-04-13T14:15:14.824082+00:00 app[web.1]: 
2013-04-13T14:15:14.824082+00:00 app[web.1]: ActionController::RoutingError (No route matches [GET] "/favicon.ico"):
2013-04-13T14:15:14.824082+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2013-04-13T14:15:14.824082+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2013-04-13T14:15:14.824082+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:38:in `call_app'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:21:in `block in call'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:67:in `block in tagged'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:67:in `tagged'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/rack/logger.rb:21:in `call'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/tagged_logging.rb:25:in `tagged'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bu
ndle/ruby/2.0.0/gems/actionpack-4.0.0.beta1/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call'
2013-04-13T14:15:14.824503+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/content_length.rb:14:in `call'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/activesupport-4.0.0.beta1/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
2013-04-13T14:15:14.824292+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/engine.rb:510:in `call'
2013-04-13T14:15:14.824503+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
2013-04-13T14:15:14.824503+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
2013-04-13T14:15:14.824503+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/lock.rb:17:in `call'
2013-04-13T14:15:14.824503+00:00 app[web.1]: 
2013-04-13T14:15:14.824503+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/rack-1.5.2/lib/rack/handler/webrick.rb:60:in `service'
2013-04-13T14:15:14.824503+00:00 app[web.1]: Exiting
2013-04-13T14:15:14.824503+00:00 app[web.1]:   vendor/bundle/ruby/2.0.0/gems/railties-4.0.0.beta1/lib/rails/application.rb:96:in `call'
2013-04-13T14:15:14.824503+00:00 app[web.1]:   vendor/ruby-2.0.0/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'
2013-04-13T14:15:14.824503+00:00 app[web.1]: 
2013-04-13T14:15:14.516222+00:00 heroku[web.1]: State changed from starting to up
2013-04-13T14:15:16.056837+00:00 heroku[web.1]: Process exited with status 143
2013-04-13T14:16:05.609544+00:00 app[web.1]: 
2013-04-13T14:16:05.609544+00:00 app[web.1]: To disable this message remove the `whitelist_attributes` option from your
2013-04-13T14:16:05.609544+00:00 app[web.1]: DEPRECATION WARNING: Model based mass assignment security has been extracted
2013-04-13T14:16:05.609544+00:00 app[web.1]: out of Rails into a gem. Please use the new recommended protection model for
2013-04-13T14:16:05.609544+00:00 app[web.1]: params or add `protected_attributes` to your Gemfile to use the old one.
2013-04-13T14:16:05.609544+00:00 app[web.1]: `config/application.rb` file and any `mass_assignment_sanitizer` options
2013-04-13T14:16:05.609544+00:00 app[web.1]: See http://guides.rubyonrails.org/security.html#mass-assignment for more information.
2013-04-13T14:16:05.609544+00:00 app[web.1]:  
2013-04-13T14:16:05.609544+00:00 app[web.1]: 
2013-04-13T14:16:05.609544+00:00 app[web.1]: from your `config/environments/*.rb` files.
2013-04-13T14:16:05.730223+00:00 heroku[router]: at=info method=GET path=/ host=mighty-depths-7233.herokuapp.com fwd="178.25.122.239" dyno=web.1 connect=1ms service=209ms status=404 bytes=728
2013-04-13T14:16:05.980431+00:00 heroku[router]: at=info method=GET path=/favicon.ico host=mighty-depths-7233.herokuapp.com fwd="178.25.122.239" dyno=web.1 connect=0ms service=6ms status=404 bytes=728
4

2 回答 2

7

首先,这里有一个很好的 Rails 路由指南。

假设您的应用程序中有一个Article模型和一个文章控制器,您必须在 config/routes.rb 下定义此资源的路由。Rails 允许您在一行中添加index, show new, create, edit, update路线destroy

resources :articles

这将映射到以下内容:

GET     /articles           index   display a list of all articles
GET     /articles/new       new     return an HTML form for creating a new article
POST    /articles           create  create a new article
GET     /articles/:id       show    display a specific article
GET     /articles/:id/edit  edit    return an HTML form for editing a article
PUT     /articles/:id       update  update a specific article
DELETE  /articles/:id       destroy delete a specific article

但是,要确保主页路由到您需要root在 config/routes.rb 下定义的这些操作之一

root to: "articles#index"

然后再次提交并推送到heroku。

于 2013-04-13T14:27:25.320 回答
1

我注意到您正在尝试(可能是无意的)使用导轨的“边缘”版本(4+)。

我现在会坚持使用 3.x 版本,这就是本教程可能假设的内容。

您可以使用它来创建具有特定版本的应用程序(在这种情况下为 3.2)

rails _3.2_ new myapp 

如果您的系统上没有该版本的 rails,您可能需要安装它,例如

gem install -v=3.2 rails

或者,如果失败了,

sudo gem install rails -v3.2

以上就是为什么,当您按照当前的 Heroku 说明进行操作时,它假定 rails 3 并且该版本确实执行该默认根路径和 public/index.html 文件

于 2013-04-13T14:33:09.277 回答