Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby Rspec Rails中没有路由匹配_Ruby_Ruby On Rails 4_Rspec Rails - Fatal编程技术网

Ruby Rspec Rails中没有路由匹配

Ruby Rspec Rails中没有路由匹配,ruby,ruby-on-rails-4,rspec-rails,Ruby,Ruby On Rails 4,Rspec Rails,我使用的是Rails 4.1,我有一个API json,但不适用于Rspec Rails rspec rails-使用3.2.1版 $rake路线 GET /cities/:code(.:format) cities#show 城市控制器.rb class CitiesController < ApplicationController respond_to :json def show code = params[:code] respond_with

我使用的是Rails 4.1,我有一个API json,但不适用于Rspec Rails

rspec rails-使用3.2.1版

$rake路线

GET  /cities/:code(.:format)     cities#show
城市控制器.rb

class CitiesController < ApplicationController
  respond_to :json
  def show
    code = params[:code]
    respond_with City.find_by_code(code)
  end
end
当我执行rspec时,我收到

Failure/Error: data = get '/cities', :code => 'DUB', :format => :json
     ActionController::UrlGenerationError:
       No route matches {:action=>"/cities", :controller=>"cities", :code=>"DUB", :format=>:json}
有什么想法吗

谢谢

改用这个:

get :show, :code => 'DUB', :format => :json

get
方法接受控制器操作的名称,而不是路径。有关更多信息,请参阅。

谢谢fivedigit,关于没有路由匹配的相同错误{:action=>“/cities”,:controller=>“cities”,:code=>“DUB”,:format=>:json}我在回答时没有注意到这一点,但我认为您的操作实际上被称为
cities
,而不是show。更新我的答案。效果很好!非常感谢。数字:D
get :show, :code => 'DUB', :format => :json