yx30

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

  •  
  •   yx30 · Nov 12, 2015 · 4649 views
    This topic created in 3841 days ago, the information mentioned may be changed or developed.
    根据 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 的问题,但也没说具体是怎么解决的,这个问题已经困扰多天了,求帮忙
    Supplement 1  ·  Nov 12, 2015
    谢谢各位,已经解决了
    6 replies    2015-11-12 14:39:35 +08:00
    ericshine
        1
    ericshine  
       Nov 12, 2015   ❤️ 1
    rake routes 看一下你是否有相应的 route
    msg7086
        2
    msg7086  
       Nov 12, 2015   ❤️ 1
    ruby 什么版本?看看是不是用了旧版( pre 2 )。
    nine
        3
    nine  
       Nov 12, 2015   ❤️ 1
    router 找不到肯定是 router 的问题

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

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

    msg7086
        4
    msg7086  
       Nov 12, 2015   ❤️ 1
    如果你解决了问题,请写出解决方案,方便后人查阅,谢谢。
    yx30
        5
    yx30  
    OP
       Nov 12, 2015
    @msg7086 低级错误,改了路由 访问的 url 不对,一直访问 home ,难怪一直不行。
    yx30
        6
    yx30  
    OP
       Nov 12, 2015
    @nine 版本问题吧。,这个应该没错。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1018 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 22:32 · PVG 06:32 · LAX 15:32 · JFK 18:32
    ♥ Do have faith in what you're doing.