Я выполнил все инструкции в главе 7 Учебник Ruby on Rails, когда я, наконец, запускаю $ Bundle exec rspec spec/появляется серия ошибок. Я дважды проверял, были ли у моих кодов какие-либо орфографические ошибки или какие-либо символы были опущены. Кажется, все в порядке. Не могли бы вы любезно интерпретировать ошибки и сказать мне, где я ошибаюсь? БлагодарностиГлава 7 Ошибка Ruby on Rails users_controller.rb
USER_PAGES_SPEC.RB
require 'spec_helper'
describe "User pages" do
subject { page }
describe "signup page" do
before {visit signup_path}
it { should have_selector('h1', text: 'Sign ') }
it { should have_selector('title', text: full_title('Sign up')) }
end
describe "profile page" do
let(:user) { FactoryGirl.create(:user) }
before { visit user_path(user) }
it { should have_selector('h1', text: user.name) }
it { should have_selector('title', text: user.name) }
end
describe "signup" do
before { visit signup_path }
let(:submit) { "Create my account" }
describe "with invalid information" do
it "should not create a user" do
expect { click_button submit }.not_to change(User, :count)
end
end
describe "with valid information" do
before do
fill_in "Name", with: "Example User"
fill_in "Email", with: "[email protected]"
fill_in "Password", with: "foobar"
fill_in "Confirmation", with: "foobar"
end
it "should create a user" do
expect { click_button submit }.to change(User, :count).by(1)
end
describe "after saving a user" do
before {click_button submit}
let (:user) {user.find_by_email("[email protected]")}
it {should have_selector('title', text:user.name)}
end
end
end
end
USER_CONTROLLER.RB
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
def new
@user = User.new
end
def create
@user = User.new(params[:user])
if @user.save
sign_in @user
flash[:success] = "Welcome to the Sample App!"
redirect_to @user
else
render 'new'
end
end
end
ОШИБКИ ОТОБРАЖЕНИЕ в командной строке
3) User pages signup page
←[31mFailure/Error:←[0m ←[31mit { should have_selector('title', text: full_
названия ('Зарегистрироваться'))} ← [0й ← [31mNoMethodError: ← [0й ← [31mundefined метод full_title' for #<RSpec::Core::ExampleGroup::Neste d_2::Nested_1:0x461b260>←[0m ←[36m # ./spec/requests/user_pages_spec.rb:11:in
блока (3 уровня) в «← [0m
страницы 4) Профиль пользователя страницы ← [ 31mFailure/Error: ← [0m ← [31mit {should have_selector ('title', text: user. name)} ← [0m ← [31mexpected css «title» с текстом «Michael Hartl», чтобы вернуть что-то ← [ 0m ← [36m # ./spec/requests/user_pages_spec.rb:19:in `block (3 уровни) в «← [0й
5) пользователя страницы подписаться с действительной информацией должны создать пользователь ← [31mFailure/ошибку: ← [0й ← [31mexpect {click_button представить} .to изменения (Пользователь, : число) .by (1) ← [0й ← [31mNoMethodError: ← [0й ← [31mundefined метод sign_in' for #<UsersController:0x45a8f00>←[0m ←[36m # ./app/controllers/users_controller.rb:14:in
создать '← [0й ← [36m # (Eval): 2: в click_button'←[0m ←[36m # ./spec/requests/user_pages_spec.rb:43:in
блоке (5 уровней) в' ← [0й ← [36m # ./spec/requests/user _pages_spec.rb: 43: в `блока (4 уровня) в«← [0й
6) пользователь страницы подписаться с действительной информацией после сохранения пользователя ← [31mFailure/Ошибки: ← [ого ← [31mbefore {click_button представить } ← [0й ← [31mNoMethodError: ← [0й ← [31mundefined метод sign_in' for #<UsersController:0x46341c0>←[0m ←[36m # ./app/controllers/users_controller.rb:14:in
создать '← [0й ← [36m # (Eval): 2: в click_button'←[0m ←[36m # ./spec/requests/user_pages_spec.rb:47:in
блоке (5 уровней) в' ← [0m
У вас есть модель/user.rb? –
@muistooshort Привет Спасибо за помощь. Я думал, что файл user.rb сохранен, но, видимо, это не так! Но у меня есть новые 4 ошибки :(, я обновил запрос с новыми ошибками, если у вас есть шанс, пожалуйста, помогите мне. Спасибо – user1422120