V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yx30
V2EX  ›  Ruby on Rails

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

  •  
  •   yx30 · 2015-11-12 13:18:07 +08:00 · 3790 次点击
    这是一个创建于 3299 天前的主题,其中的信息可能已经有所发展或是发生改变。
    根据 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 的问题,但也没说具体是怎么解决的,这个问题已经困扰多天了,求帮忙
    第 1 条附言  ·  2015-11-12 14:30:31 +08:00
    谢谢各位,已经解决了
    6 条回复    2015-11-12 14:39:35 +08:00
    ericshine
        1
    ericshine  
       2015-11-12 13:25:16 +08:00   ❤️ 1
    rake routes 看一下你是否有相应的 route
    msg7086
        2
    msg7086  
       2015-11-12 13:50:00 +08:00   ❤️ 1
    ruby 什么版本?看看是不是用了旧版( pre 2 )。
    nine
        3
    nine  
       2015-11-12 14:00:55 +08:00   ❤️ 1
    router 找不到肯定是 router 的问题

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

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

    msg7086
        4
    msg7086  
       2015-11-12 14:33:01 +08:00   ❤️ 1
    如果你解决了问题,请写出解决方案,方便后人查阅,谢谢。
    yx30
        5
    yx30  
    OP
       2015-11-12 14:38:22 +08:00
    @msg7086 低级错误,改了路由 访问的 url 不对,一直访问 home ,难怪一直不行。
    yx30
        6
    yx30  
    OP
       2015-11-12 14:39:35 +08:00
    @nine 版本问题吧。,这个应该没错。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1100 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:56 · PVG 02:56 · LAX 10:56 · JFK 13:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.