学习 Ruby on Rails 遇到了 undefined local variable or method `root_path',求帮助

2015-11-12 13:18:07 +08:00
 yx30
根据 Ruby on Rails 4 Tutorial 5.3.2 章节的路由测试
把 config/routes.rb 改成书上所说的

SampleApp::Application.routes.draw do
root to: 'static_pages#home'
match '/help', to: 'static_pages#help'
match '/about', to: 'static_pages#about'
match '/contact', to: 'static_pages#contact'
end
然后就报错了。 rspec 也不通过。
打开页面

Routing Error
No route matches[GET] "static_pages/home
查到了 stackoverflow 上也有一样的坑

http://stackoverflow.com/questions/12240868/undefined-local-variable-or-method-root-path-hartls-tutorial-chapter-5-3-2

帖子上说是 Spork 的问题,但也没说具体是怎么解决的,这个问题已经困扰多天了,求帮忙
3617 次点击
所在节点    Ruby on Rails
6 条回复
ericshine
2015-11-12 13:25:16 +08:00
rake routes 看一下你是否有相应的 route
msg7086
2015-11-12 13:50:00 +08:00
ruby 什么版本?看看是不是用了旧版( pre 2 )。
nine
2015-11-12 14:00:55 +08:00
router 找不到肯定是 router 的问题

rails 默认生成的是
Rails.application.routes.draw do

你为什么写
SampleApp::Application.routes.draw do

msg7086
2015-11-12 14:33:01 +08:00
如果你解决了问题,请写出解决方案,方便后人查阅,谢谢。
yx30
2015-11-12 14:38:22 +08:00
@msg7086 低级错误,改了路由 访问的 url 不对,一直访问 home ,难怪一直不行。
yx30
2015-11-12 14:39:35 +08:00
@nine 版本问题吧。,这个应该没错。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/235601

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX