我得到以下错误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
答案 0 :(得分:7)
我认为这个错误来自控制器规范?如果是这样,您只需使用代表您要调用的操作的符号,而不是URL本身。
例如。这是一个show动作,所以你会使用:
get :show, id: 100