我在阅读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
答案 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_path
或about_url
联系
contact_path
或contact_url
寻求帮助
help_path
或help_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 /约