title: undefined local variable or method `root_path' Hartl's Tutorial Chapter 5.3.2
body: <p>So my first question on Stackoverflow..... =]</p>
  
  <p>My tests in Chapter 5.3.2 of <a href="http://ruby.railstutorial.org/chapters/filling-in-the-layout#sec-rails_routes" rel="noreferrer">Michael Hartl's RoR Tutorial</a> are all failing, when the tutorial says it should be passing (tutorial says 'about', 'contact', and 'help' should pass... but all of mine fail). Everything til now worked fine, but I changed the </p>
  
  <pre><code>get 'static_pages/help' 
  </code></pre>
  
  <p>to </p>
  
  <pre><code>match '/help', to: 'static_pages#help'
  </code></pre>
  
  <p>so that my </p>
  
  <h2><strong>config/routes.rb</strong></h2>
  
  <pre><code>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' 
  </code></pre>
  
  <p>and then everything went to hell. All my tests fails with a undefined local variable or method 'root_path' or 'about_path' etc. (see below, Terminal Output). But here are my relevant files... Just in case anyone is curious, all the files are exactly what Hartl has. I basically copied and pasted each file's content. </p>
  
  <p>Can someone help me?????? Thanks!</p>
  
  <h2><strong>spec/static_pages_spec.rb</strong></h2>
  
  <pre><code>require 'spec_helper'
  
  describe "Static pages" do
  
    describe "Home page" do
  
      it "should have the h1 'Sample App'" do
        visit root_path
        page.should have_selector('h1', text: 'Sample App')
      end
  
      it "should have the base title" do
        visit root_path
        page.should have_selector('title',
                          text: "Ruby on Rails Tutorial Sample App")
      end
  
      it "should not have a custom page title" do
        visit root_path
        page.should_not have_selector('title', text: '| Home')
      end
    end
  
    describe "Help page" do
  
      it "should have the h1 'Help'" do
        visit help_path
        page.should have_selector('h1', text: 'Help')
      end
  
      it "should have the title 'Help'" do
        visit help_path
        page.should have_selector('title',
                          text: "Ruby on Rails Tutorial Sample App | Help")
      end
    end
  
    describe "About page" do
  
      it "should have the h1 'About'" do
        visit about_path
        page.should have_selector('h1', text: 'About Us')
      end
  
      it "should have the title 'About Us'" do
        visit about_path
        page.should have_selector('title',
                      text: "Ruby on Rails Tutorial Sample App | About Us")
      end
    end
  
    describe "Contact page" do
  
      it "should have the h1 'Contact'" do
        visit contact_path
        page.should have_selector('h1', text: 'Contact')
      end
  
      it "should have the title 'Contact'" do
        visit contact_path
        page.should have_selector('title',
                      text: "Ruby on Rails Tutorial Sample App | Contact")
      end
    end
  end
  </code></pre>
  
  <h2><strong>Terminal output with input 'rspec spec/'</strong></h2>
  
  <pre><code>FFFFFFFFF
  
  Failures:
  
    1) Static pages Contact page should have the h1 'Contact'
       Failure/Error: visit contact_path
       NameError:
         undefined local variable or method `contact_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_4:0x007fd2093855f8&gt;
       # ./spec/requests/static_pages_spec.rb:55:in `block (3 levels) in &lt;top (required)&gt;'
  
    2) Static pages Contact page should have the title 'Contact'
       Failure/Error: visit contact_path
       NameError:
         undefined local variable or method `contact_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_4:0x007fd208cbeb20&gt;
       # ./spec/requests/static_pages_spec.rb:60:in `block (3 levels) in &lt;top (required)&gt;'
  
    3) Static pages Help page should have the h1 'Help'
       Failure/Error: visit help_path
       NameError:
         undefined local variable or method `help_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x007fd2094c02b0&gt;
       # ./spec/requests/static_pages_spec.rb:27:in `block (3 levels) in &lt;top (required)&gt;'
  
    4) Static pages Help page should have the title 'Help'
       Failure/Error: visit help_path
       NameError:
         undefined local variable or method `help_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x007fd209649208&gt;
       # ./spec/requests/static_pages_spec.rb:32:in `block (3 levels) in &lt;top (required)&gt;'
  
    5) Static pages About page should have the h1 'About'
       Failure/Error: visit about_path
       NameError:
         undefined local variable or method `about_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_3:0x007fd208f16d00&gt;
       # ./spec/requests/static_pages_spec.rb:41:in `block (3 levels) in &lt;top (required)&gt;'
  
    6) Static pages About page should have the title 'About Us'
       Failure/Error: visit about_path
       NameError:
         undefined local variable or method `about_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_3:0x007fd2094f7990&gt;
       # ./spec/requests/static_pages_spec.rb:46:in `block (3 levels) in &lt;top (required)&gt;'
  
    7) Static pages Home page should not have a custom page title
       Failure/Error: visit root_path
       NameError:
         undefined local variable or method `root_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd208d30b08&gt;
       # ./spec/requests/static_pages_spec.rb:19:in `block (3 levels) in &lt;top (required)&gt;'
  
    8) Static pages Home page should have the base title
       Failure/Error: visit root_path
       NameError:
         undefined local variable or method `root_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd208e0cb80&gt;
       # ./spec/requests/static_pages_spec.rb:13:in `block (3 levels) in &lt;top (required)&gt;'
  
    9) Static pages Home page should have the h1 'Sample App'
       Failure/Error: visit root_path
       NameError:
         undefined local variable or method `root_path' for #&lt;RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd209607268&gt;
       # ./spec/requests/static_pages_spec.rb:8:in `block (3 levels) in &lt;top (required)&gt;'
  
  Finished in 0.30216 seconds
  9 examples, 9 failures
  
  Failed examples:
  
  rspec ./spec/requests/static_pages_spec.rb:54 # Static pages Contact page should have the h1 'Contact'
  rspec ./spec/requests/static_pages_spec.rb:59 # Static pages Contact page should have the title 'Contact'
  rspec ./spec/requests/static_pages_spec.rb:26 # Static pages Help page should have the h1 'Help'
  rspec ./spec/requests/static_pages_spec.rb:31 # Static pages Help page should have the title 'Help'
  rspec ./spec/requests/static_pages_spec.rb:40 # Static pages About page should have the h1 'About'
  rspec ./spec/requests/static_pages_spec.rb:45 # Static pages About page should have the title 'About Us'
  rspec ./spec/requests/static_pages_spec.rb:18 # Static pages Home page should not have a custom page title
  rspec ./spec/requests/static_pages_spec.rb:12 # Static pages Home page should have the base title
  rspec ./spec/requests/static_pages_spec.rb:7 # Static pages Home page should have the h1 'Sample App'
  </code></pre>