Rspec无法识别我的控制器路线。我正在使用Versionist gem来对我的API进行版本化,并且我正在使用路径版本(所以/v1/
版本我的API版本如下所示。)。
constraints :subdomain => "api" do
api_version(:module => "V1", :path => {:value => "v1"}, :defaults => {:format => :json}, :default => true) do
match '/orders' => 'orders#index', :via => :get
佣金路线中的路线显示为:
GET /v1/orders(.:format) V1/orders#index {:subdomain=>"api", :format=>:json}
我的控制器位于app/controller/v1/orders_controller.rb
。
对于rspec测试,我有一个orders_controller_spec.rb
,我有:
require 'spec_helper'
module V1
describe OrdersController do
describe "GET #index" do
it "throws an error on incorrect params" do
get :index
end
end
end
end
我得到的错误是:
1) V1::OrdersApiController GET #index throws an error on incorrect param
Failure/Error: get :index
ActionController::RoutingError:
No route matches {:controller=>"v1/orders"}
这里有什么问题?为什么没有路线匹配v1/orders
?在rake routes
中,我看到了如上所示的路线:GET /v1/orders(.:format) V1/orders#index {:subdomain=>"api", :format=>:json}
。它说GET /v1/orders
。这里的问题在哪里?