在我的测试中,我试图打电话
get :vendors
但我得到的错误是
ActionController::RoutingError: No route matches {:controller=>"vendors",
:action=>"vendors"}
我在routes.rb
中有以下内容match '/vendors', :to => 'vendors#index'
所以我不明白它为什么要寻找(不存在的)"供应商"行动而不是使用"索引"喜欢它的匹配。任何人都可以向我解释这个吗?
答案 0 :(得分:3)
因为你说过了吗?
测试已经被上下文化,可能是describe VendorsController
,所以说get :vendors
告诉它让供应商#供应商采取行动。它不是说“获取/供应商URL”,而是直接进入控制器。
一般情况下,您运行get :action
而非get :controller
或get :matched_route_name
答案 1 :(得分:2)