3

我目前正在阅读 Michael Hartl 的 Rails 教程,但遇到了一个我无法理解的错误。

教程中有一节解释了如何在 routes.rb 文件中创建自定义 URI。本教程通过编码来解释:

match '/about', to: 'static_pages#about'

应自动创建命名路由,如下所示:

about_path => '/about'
about_url  => 'http://localhost:3000/about'

然后,下一节通过用这些变量替换某些代码位来帮助您修复 rspec 测试。但是当我这样做时,我最终会失败每次测试,因为找不到所有“自动创建的变量”......

谁能向我解释为什么没有找到它们,或者我可以在哪里查看它们是否实际上已经创建。

4

4 回答 4

11

据我所知,如果您不使用as:,则不会获得命名路线。有关更多信息,请参阅指南

在您的示例中,您可以执行以下操作:

get '/about', to: 'static_pages#about', as: 'about'
于 2013-01-07T01:41:00.877 回答
1

你用的是spork吗?尝试重新启动 spork 服务器

RSpec 找不到我的命名路线

于 2013-10-19T01:42:36.833 回答
0

指令是添加这样的一行:

match '/about', to: 'static_pages#about', via: 'get'

注意, via: 'get'.

于 2013-12-06T23:07:01.203 回答
0

我迟到了这个线程,但我在教程的同一点遇到了同样的问题,但正如@pjam 之前提到的,我认为我们需要as: 'about'在 routes.rb 文件中添加选项,以及其他寻求帮助和联系方式,如教程中所述。它为我解决了测试的问题,现在它们都通过了。

于 2013-12-24T22:40:50.883 回答