ruby-on-rails:在功能测试中模拟路线
-
07-07-2019 - |
题
我的routes.rb文件中有一条路线:
map.connect 'login', :controller => 'users', :action => 'login'
我在视图中部分呈现为:
login_path
在控制器的功能测试中调用此视图。
然而,在功能测试中我收到错误:
ActionView::TemplateError: undefined local variable or method `login_path' for #<ActionView::Base:0x4762c90>
1)测试它的最佳方法是什么?
2)这是否表明存在设计缺陷?
解决方案
map.connect
将添加一个未命名的路由。您在 routes.rb
中可能需要的是:
map.login 'login', :controller => 'users', :action => 'login'
这将为您创建命名路由 login_path
和 login_url
。
不隶属于 StackOverflow