我目前正在研究Michael Hartl撰写的Rails教程,并遇到了一个我无法理解的错误。
本教程介绍了如何在routes.rb文件中创建自定义URI。该教程通过对此进行编码来解释:
match '/about', to: 'static_pages#about'
应该自动创建命名路由,如下所示:
about_path => '/about'
about_url => 'http://localhost:3000/about'
以下部分将帮助您通过使用这些变量替换某些代码来修复rspec测试。但是当我这样做时,我最终都失败了,因为所有“自动创建的变量”都找不到...
任何人都可以向我解释为什么他们没有被找到或者我可以看看他们是否已经实际创建过。
答案 0 :(得分:11)
据我所知,如果你不使用as:
,你就不会得到一条命名路线。有关详细信息,请参阅the guides。
在您的示例中,您可以执行以下操作:
get '/about', to: 'static_pages#about', as: 'about'
答案 1 :(得分:1)
答案 2 :(得分:0)
该指令是添加如下一行:
match '/about', to: 'static_pages#about', via: 'get'
请注意, via: 'get'
。
答案 3 :(得分:0)
我迟到了这个帖子,但我在本教程的同一点遇到了同样的问题,但正如之前提到的@pjam,我认为我们需要在routes.rb文件中添加as: 'about'
选项,以及其他人的帮助和联系,如教程中所述。它解决了我的测试问题,现在他们都通过了。