繁体   English   中英

ActionController :: RoutingError:没有路由与{:controller =>“ vendors”,:action =>“ vendors”}匹配?

[英]ActionController::RoutingError: No route matches {:controller=>“vendors”, :action=>“vendors”}?

在测试中,我正在尝试致电

get :vendors

但是我得到的错误是

ActionController::RoutingError: No route matches {:controller=>"vendors", 
    :action=>"vendors"}

我在routes.rb中确实有以下内容

match '/vendors', :to => 'vendors#index'

所以我不明白为什么它要寻找(不存在的)“供应商”行动,而不是像匹配的那样使用“索引”。 有人可以向我解释吗?

因为你告诉过吗?

该测试已经进行describe VendorsController ,大概是在describe VendorsController进行了describe VendorsController ,因此说get :vendors告诉它获得Vendors#vendors动作。 并不是说“获取/ vendors URL”,而是直接进入控制器。

通常,您运行get :action而不是get :controllerget :matched_route_name

你应该在做

get :index

是rspec中的控制器测试的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM