ruby-on-rails – 未定义的局部变量或方法`root_path’Hartl的教程第5.3.2节

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 未定义的局部变量或方法`root_path’Hartl的教程第5.3.2节前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我的第一个问题在Stackoverflow ….. =

我的考试在07年第5.3.2节都是失败的,当教程说应该通过(教程说“关于”,“联系”和“帮助”应该通过…但我的所有失败).一切都到现在好了,但我改变了

get 'static_pages/help'

match '/help',to: 'static_pages#help'

所以我的

配置/ 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'

然后一切都到了地狱.我所有的测试失败了一个未定义的局部变量或方法’root_path’或’about_path’等(见下面的终端输出).但是这里是我的相关文件…为了防万一有人好奇,所有的文件都是Hartl所具有的.我基本上复制并粘贴了每个文件内容.

有人能帮我吗??????谢谢!

投机/ static_pages_spec.rb

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

端子输出与输入’rspec spec /’

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 #<RSpec::Core::ExampleGroup::Nested_1::Nested_4:0x007fd2093855f8>
     # ./spec/requests/static_pages_spec.rb:55:in `block (3 levels) in <top (required)>'

  2) Static pages Contact page should have the title 'Contact'
     Failure/Error: visit contact_path
     NameError:
       undefined local variable or method `contact_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_4:0x007fd208cbeb20>
     # ./spec/requests/static_pages_spec.rb:60:in `block (3 levels) in <top (required)>'

  3) Static pages Help page should have the h1 'Help'
     Failure/Error: visit help_path
     NameError:
       undefined local variable or method `help_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x007fd2094c02b0>
     # ./spec/requests/static_pages_spec.rb:27:in `block (3 levels) in <top (required)>'

  4) Static pages Help page should have the title 'Help'
     Failure/Error: visit help_path
     NameError:
       undefined local variable or method `help_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_2:0x007fd209649208>
     # ./spec/requests/static_pages_spec.rb:32:in `block (3 levels) in <top (required)>'

  5) Static pages About page should have the h1 'About'
     Failure/Error: visit about_path
     NameError:
       undefined local variable or method `about_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_3:0x007fd208f16d00>
     # ./spec/requests/static_pages_spec.rb:41:in `block (3 levels) in <top (required)>'

  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 #<RSpec::Core::ExampleGroup::Nested_1::Nested_3:0x007fd2094f7990>
     # ./spec/requests/static_pages_spec.rb:46:in `block (3 levels) in <top (required)>'

  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 #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd208d30b08>
     # ./spec/requests/static_pages_spec.rb:19:in `block (3 levels) in <top (required)>'

  8) Static pages Home page should have the base title
     Failure/Error: visit root_path
     NameError:
       undefined local variable or method `root_path' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd208e0cb80>
     # ./spec/requests/static_pages_spec.rb:13:in `block (3 levels) in <top (required)>'

  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 #<RSpec::Core::ExampleGroup::Nested_1::Nested_1:0x007fd209607268>
     # ./spec/requests/static_pages_spec.rb:8:in `block (3 levels) in <top (required)>'

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'

解决方法

Mischa的答案将希望解决大多数这些问题,但您的测试可能仍然在root_path问题上失败.

你是否像这样删除了index.html:git rm public / index.html

并且不要忘记提交您的更改:git commit -am“Message”

猜你在找的Ruby相关文章