2016-03-19 5 views
0

Я работаю над учебником Майкла Хартла Ruby on Rails. Я нахожусь в листинге 8.10, где я запускаю интеграционный тест для вновь созданного входа. Когда я запускаю тест, я получаю 1 ошибку, которая гласит:Невозможно найти имя с ошибкой в ​​приложении rails

UsersLoginTest#test_login_with_invalid_information: 
ActionController::RoutingError: uninitialized constant SessonsController 
test/integration/users_login_test.rb:8:in `block in class:UsersLoginTest>' 

1 runs, 1 assertions, 0 failures, 1 errors, 0 skips 

Есть ли что-то, что мне не хватает? Я думал, что это явно файл с ошибкой «SessonsController» вместо «Session Controller», но я не могу найти файл с ошибками. Я также проверил ln8 в файле «test/integration/users_login_test.rb» и не нашел ошибку.

Если бы кто-нибудь мог мне помочь, я был бы очень признателен.

Вот ссылка на GitHub репо: sample_app branch login-logout

Вот ссылка на страницу учебника: Rails Tutorial

+0

Ваше сообщение об ошибке не заполнено. Должно быть еще несколько. – sawa

+0

$ расслоение EXEC тест грабель TEST = тест/интеграция/users_login_test.rb параметров запуска: --seed 43995 # Запуск: E Готовые в 1.265267s, 0.7903 бежит/s, 0.7903 утверждения/с. 1) Ошибка: UsersLoginTest # test_login_with_invalid_information: ActionController :: RoutingError: неинициализированная постоянная SessonsController тест/интеграция/users_login_test.rb: 8: в 'блока в <класса: UsersLoginTest>» 1 пробеги, 1 Утверждение, 0 неудачи, 1 ошибка, 0 пропусков –

+0

То, что вы показали, не является частью этого. – sawa

ответ

0

В test/integration/users_login_test.rb:8, вам нужно заменить SessonsController с тем, что контроллер фактически называют (см typo?)

В общем, вам нужно убедиться, что ваши файлы имеют то же имя, что и классы/модули, которые они содержат.

Например, если у меня есть класс SessionController, но он сохраняется в файле foobar_controller.rb, он не загружается. Имена должны точно совпадать. Даже дополнительный s может выбросить его. SessionController - это не то же самое, что и SessionsController.

В любом случае, научиться отлаживать - это важный навык, который будет проходить через учебник Хартля. Вы мгновенно получите его.

 Смежные вопросы

  • Нет связанных вопросов^_^