我完全是新手,我正在通过 Michael Hartl 的教程学习 Ruby on Rails。我在第 3 章,关于页面的 Rspec 测试失败(而主页和帮助页面的完全相同的测试没有失败)。
我在运行时遇到的错误$ bundle exec rspec spec/requests/static_pages_spec.rb
是:
Failures:
1) Static pages About page should have the content 'About Us'←[31mFailure/Error:←[0m ←[31mvisit 'static_pages/about'←[0m←[31mURI::InvalidURIError←[0m:←[31mthe scheme http does not accept registry part: www.example.com:80static_pages (or bad hostname?)←[0m←[36m # ./spec/requests/static_pages_spec.rb:24:in `block (3 levels) in <top (required)>'←[0m Finished in 0.0776 seconds←[31m3 examples, 1 failure←[0m
Failed examples:
←[31mrspec ./spec/requests/static_pages_spec.rb:23←[0m ←[36m# Static pages About page should have the content 'About Us'←[0m
访问http://localhost:3000/static_pages/about
页面加载时,我可以在大 H1 字母中看到“关于我们”。
规范/请求/static_pages_spec.rb:
require 'spec_helper'
describe "Static pages" do
describe "Home page" do
it "should have the content 'Sample App'" do
visit '/static_pages/home'
expect(page).to have_content('Sample App')
end
end
describe "Help page" do
it "should have the content 'Help'" do
visit '/static_pages/help'
expect(page).to have_content('Help')
end
end
describe "About page" do
it "should have the content 'About Us'" do
visit 'static_pages/about'
expect(page).to have_content('About Us')
end
end
end
配置/路由.rb:
SampleApp::Application.routes.draw do
get "static_pages/home"
get "static_pages/help"
get "static_pages/about"
end
应用程序/控制器/static_pages_controller.rb:
class StaticPagesController < ApplicationController
def home
end
def help
end
def about
end
end
应用程序/视图/about.html.erb:
<h1>About Us</h1>
<p>
The <a href="http://railstutorial.org/">Ruby on Rails Tutorial</a>
is a project to make a book and screencasts to teach web development
with <a href="http://rubyonrails.org/">Ruby on Rails</a>. This
is the sample application for the tutorial.
</p>