2014-04-21 91 views
1

我正在玩弄使用独角兽和导轨的教程。我对rails完全陌生,为了本教程的目的,我为该项目所做的所有工作都是bundle exec rails new rails-starter,不需要进一步修改应用程序。ActionController :: RoutingError(没有路线匹配[GET]“/”):

当我运行bundle exec unicorn -c config/unicorn.rb -E production我在浏览器中得到的消息:

The page you were looking for doesn't exist. You may have mistyped the address or the page may have moved.

日志显示:

ActionController::RoutingError (No route matches [GET] "/"): 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/actionpack-4.0.4/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/actionpack-4.0.4/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/railties-4.0.4/lib/rails/rack/logger.rb:38:in `call_app' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/railties-4.0.4/lib/rails/rack/logger.rb:20:in `block in call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.4/lib/active_support/tagged_logging.rb:68:in `block in tagged' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.4/lib/active_support/tagged_logging.rb:26:in `tagged' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.4/lib/active_support/tagged_logging.rb:68:in `tagged' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/railties-4.0.4/lib/rails/rack/logger.rb:20:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/actionpack-4.0.4/lib/action_dispatch/middleware/request_id.rb:21:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/methodoverride.rb:21:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/runtime.rb:17:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/activesupport-4.0.4/lib/active_support/cache/strategy/local_cache.rb:83:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/rack-1.5.2/lib/rack/sendfile.rb:112:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/railties-4.0.4/lib/rails/engine.rb:511:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/railties-4.0.4/lib/rails/application.rb:97:in `call' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:572:in `process_client' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:666:in `worker_loop' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:521:in `spawn_missing_workers' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/unicorn-4.8.2/lib/unicorn/http_server.rb:140:in `start' 
    /home.rbenv/versions/2.0.0-p0/lib/ruby/gems/2.0.0/gems/unicorn-4.8.2/bin/unicorn:126:in `<top (required)>' 
    /home.rbenv/versions/2.0.0-p0/bin/unicorn:23:in `load' 
    /home.rbenv/versions/2.0.0-p0/bin/unicorn:23:in `<main>' 

但是,如果我只是通过bundle exec rails server我可以运行Rails应用程序通过[IP]:3000成功访问

我怀疑这个错误是与ActionController::RoutingError (No route matches [GET] "/"):有关的,但是我缺乏铁轨知识来弄清楚这个问题。

回答

6

您需要在routes.rb文件中设置根路由。

root :to => 'index#index' 

其中第一个索引是控制器名称(索引控制器)和第二索引在IndexController动作的名称。

+0

我将上面的代码行添加到'routes.rb'中,但是错误仍然存​​在。 – kaizenCoder

+0

重新启动你的服务器.. – emaillenin

+0

好吧,现在我有以下错误:ActionController :: RoutingError(未初始化的常量IndexController):' – kaizenCoder

相关问题