在 rails 应用程序中找不到拼写错误的文件名

Can't find misspelled file name in rails app

我一直在学习 Michael Hartl 的 Ruby Rails 教程。我在清单 8.10 中 运行 对新创建的登录进行集成测试。当我 运行 测试时,我得到 1 个错误:

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" 而不是 "Sessions Controller" 但我无法找到拼写错误的文件。我也检查了文件"test/integration/users_login_test.rb"中的ln8,并没有发现错误。

如果有人能帮我解决这个问题,我将不胜感激。

这是 github 回购的 link:sample_app branch login-logout

这里是 link 教程页面:Rails Tutorial

test/integration/users_login_test.rb:8 中,您需要将 SessonsController 替换为您的控制器实际命名的任何名称(看到打字错误了吗?)

一般来说,您需要确保文件的名称与其包含的 classes/modules 相同。

例如,如果我有一个 SessionController class 但它保存在 foobar_controller.rb 文件中,它不会被加载。名称必须完全匹配。即使是额外的 s 也可以将其关闭。 SessionControllerSessionsController 不同。

无论如何,学习调试是通过 Hartl 的教程教给您的一项重要技能。你很快就会掌握它的窍门。