ActionController :: UrlGenerationError:错误没有路由匹配

时间:2014-08-08 06:09:58

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 rspec

我得到以下错误ActionController :: UrlGenerationError。

ActionController::UrlGenerationError:
       No route matches {:action=>"/accounts/100", :controller=>"accounts"}

下面是我的代码,它会抛出此错误。

  it "can find an account" do
  Account.should_receive(:find, with: {id: 2055, authorization: @auth}

  get "/accounts/100", nil, {"AUTH_TOKEN" => @auth}

  hashed_response = {
    "@type" => "test",
    "createdAt" => "2014-07-24T15:26:49",
    "description" => "Something about test",
    "disabled" => false
  }
  expect(response.status).to eq 200    
  expect(response.body).to eq(hashed_response.to_json);

end

我对此做了一个google,并且知道没有为此定义路由。以下是我的config/routes.rb文件

Rails.application.routes.draw do
   resources :accounts do
      resources :holders
   end
end

1 个答案:

答案 0 :(得分:7)

我认为这个错误来自控制器规范?如果是这样,您只需使用代表您要调用的操作的符号,而不是URL本身。

例如。这是一个show动作,所以你会使用:

get :show, id: 100