Это странно.Этим утром я снова посмотрел на мою рабочую станцию и запустил rspec spec /, чтобы попытаться получить некоторые примеры ошибок, которые будут показаны здесь. Все мои тесты пройдены успешно!Я не изменил ни один из источников, и я не думаю, что я что-то изменил в конфигурации или настройке (хотя я слишком плохо знаком с Mac, так что многие инструменты немного похожи на дым и зеркала для меня).
Теперь я нахожусь в положении, когда я знаю, что что-то было неправильно, но не знаю что, и я знаю, что теперь все в порядке, но я не знаю почему.
Я собираюсь предположить, что был какой-то процесс, который был убит и перезапущен в одночасье или когда машина проснулась, и надеюсь, что я могу предложить аналогичное исправление, если я получу необъяснимые сбои в будущем.
То, что следует теперь спорный вопрос ...
1010 * Работа через учебник я 5 простых маршрутов и 5 тестов просто доказать, что правильная страница возвращается, проверяя название в содержании.Все маршруты отлично работают через браузер, но rspec показывает 3 ошибки.
Это мои маршруты ...
match '/contact', :to => 'pages#contact'
match '/about', :to => 'pages#about'
match '/help', :to => 'pages#help'
match '/signup', :to => 'users#new'
root :to => 'pages#home'
rspec показывает, что / contact, / about и / help all getкорневая страница (неверная), но / signup получает правильную страницу./ также получает домашнюю страницу.
Моя учебная книга не содержит никаких дополнительных подробностей и просто ожидает, что пример кода будет работать.
Сгенерированный сайт работает нормально, он просто не тестирует ОК.Я могу продолжить обучение, но не хочу привыкать игнорировать неудачные тесты.
Кто-нибудь может предложить следующий шаг?
мои тесты ...
require spec_helper
describe "LayoutLinks" do
.
it "should have a contact page at '/contact'" do
get '/contact
response.should have_selector('title', :content => "Contact")
end
.
it "should have a signup page at '/signup'" do
get '/signup'
response.should have_selector('title', :content => "Sign up")
end
end
Мои контроллеры ...
class UsersController < ApplicationController
def new
@title = "Sign up"
end
end
class PagesController < ApplicationController
def contact
@title = "Contact"
end
def home
@title = "Home"
end
.
.
end
Мой application.html.erb имеет
<title><%= @title %></title>
, и каждому представлению присваивается свой заголовок помощником
module ApplicationHelper
def title
base_title = "Ruby on Rails Tutorial Sample App"
if @title.nil?
base_title
else
"#{base_title} | #{@title}"
end
end
end