路由错误::没有路由匹配[GET]“/ static_pages / about”

时间:2013-09-27 09:26:19

标签: ruby-on-rails railstutorial.org custom-routes

我在阅读Michael Hartl的教程时遇到了这个错误。 第5.3.2节(Rails路线)。

routes.rb 文件的内容为

SampleApp::Application.routes.draw do
   root  'static_pages#home'
  match '/help',    to: 'static_pages#help',    via: 'get'
  match '/about',   to: 'static_pages#about',   via: 'get'
  match '/contact', to: 'static_pages#contact', via: 'get'
end

我在static_pages的 rspec 是成功的..我已经按照每条指令行事了 尝试访问“

”中的任何页面时仍然出现此错误
http://localhost:3000/static_pages/home
http://localhost:3000/static_pages/about
http://localhost:3000/static_pages/contact

这是我在这些网页上遇到的错误

操作控制器:已捕获异常

Routing Error
No route matches [GET] "/static_pages/about"

Rails.root: /home/abhinay/rails_projects/sample_app

Application Trace | Framework Trace | Full Trace
Routes

Routes match in priority from top to bottom



  Helper     HTTP Verb  Path             Controller#Action
    Path / Url          
    root_path     GET       /                    static_pages#home
    help_path     GET      /help(.:format)   static_pages#help
    about_path    GET      /about(.:format)  static_pages#about
    contact_path  GET      /contact(.:format)    static_pages#contact

3 个答案:

答案 0 :(得分:6)

看看你没有任何路线"/static_pages/about"

所以你有错误

 Routing Error
 No route matches [GET] "/static_pages/about"

根据您的关于页面/about的路线应该是网址

 http://localhost:300/about   
 http://localhost:300/contact 
 http://localhost:300/help

它会实际调用您的static_pages控制器和该控制器的about操作

从你获得的铁路线路的url helper

关于:

应该使用

about_pathabout_url

联系

contact_pathcontact_url

寻求帮助

help_pathhelp_url

答案 1 :(得分:3)

你必须使用这些:

http://localhost:3000/         <!-- Maps to /home -->
http://localhost:3000/help       <!-- Maps to /static_pages/help-->       
http://localhost:3000/about       <!-- Maps to /static_pages/about-->       
http://localhost:3000/contact       <!-- Maps to /static_pages/contact-->       

答案 2 :(得分:1)

static_pages#about的路径

  

/约

而不是

  

/ static_pages /约