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

yx30 · 2015年11月10日 · 最后由 msg7086 回复于 2015年11月13日 · 2248 次阅读

根据 Ruby on Rails 4 Tutorial 5.3.2 的路由测试

谢谢各位了。犯的低级错误,现在已经不会报错标题的错误了,网页可以打开了,只是 rspec 不通过。

查到了 stackoverflow 上也有一样的坑

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

请描述清楚,不要重复发帖!

#1 楼 @huacnlee 帖子链接里面描述得很清楚了。难道我还要再把那些代码全部再贴一遍。。。。

#2 楼 @yx30 连接那边已经有答案了,难道我还要再把那些代码全部再贴一遍

#3 楼 @huacnlee 新手,确实没看懂,所以才来这发问的,算了。我重新再把问题发一遍了

#4 楼 @yx30 不要重新发帖,请修改这贴!

#5 楼 @huacnlee 改好了,求大哥让通过啊 QAQ

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

都已经说了错误原因了,缺少 static_pages#home,也就是缺少 app/controllers/static_pages_controller.rb,或者这个文件里面缺少

def home
end

好折腾,有那么复杂么,应该反思你的学习路径不对 请按 http://guides.ruby-china.org 来学 Rails

#7 楼 @huacnlee 你说的 app/controllers/static_pages_controller.rb 和 def home; end 都有,还是报错。
嗯,学习路径确实不对,这本书也是论坛里看别人推荐的,没想到坑,但是也是想解决这个困扰的问题。

root to: 'static_pages#home'

也就是

match '/', to: 'static_pages#home', as: 'root'

你应该访问 /

10 楼 已删除

#9 楼 @rei 改了一样还是报错,stackoverflow 上说是 spork 的问题,但没写具体怎么解决的。看旧的书学 rails 真是坑

#11 楼 @yx30 先别急着下结论。

最好把整个 APP 的源码上传到 GitHub 之类的网站,提供更多的上下文,这样有利于别人针对你的情况去分析问题。

遇到问题不可怕,很多人也乐于提供帮助。Ruby 社区其实非常友好。

routes.rb 里默认的明明是

Rails.application.routes.draw do
    ...
end

为什么不更新帖子里面的内容然后又跑其他论坛发一样的帖子 没有增加任何更多的信息?

最简单的。你rake routes一下。看看出来的结果贴出来。

#14 楼 @hging 刚刚解决了,不好意思。。

#15 楼 @yx30 建议怎么解决的也可以贴出来 这样以后有人遇到同样问题的时候可以参考。

看了隔壁的帖子,猜测楼主可能去访问了 /static_pages/home 而不是访问 /

Again,请先阅读《提问的智慧》。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号