无法在rails app中找到拼写错误的文件名

时间:2016-03-19 16:57:57

标签: ruby-on-rails ruby railstutorial.org

我一直在研究Michael Hartl的Ruby on 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"而不是"会话控制器"但我无法找到拼写错误的文件。我还检查了文件中的ln8" test / integration / users_login_test.rb"并没有发现错误。

如果有人能帮我解决这个问题,我会非常感激。

以下是github repo的链接:sample_app branch login-logout

以下是教程页面的链接:Rails Tutorial

1 个答案:

答案 0 :(得分:0)

test/integration/users_login_test.rb:8中,您需要将SessonsController替换为实际命名的控制器(请参阅拼写错误?)

通常,您需要确保文件的名称与它们包含的类/模块的名称相同。

例如,如果我有一个SessionController课程,但它已保存在foobar_controller.rb文件中,则无法加载。名称必须完全匹配。即使是额外的s也可以将其抛弃。 SessionControllerSessionsController不同。

无论如何,学习调试是一项重要的技能,通过Hartl的教程将教你。你马上就能掌握它。