0

我正在尝试测试我的命名空间控制器并且运气不佳。我有以下路线设置:

namespace :api do
  get 'organization/:id/questions/:number', controller: 'questions', action: 'index', as: 'organization_questions'
end

产生以下路线:

api_organization_questions GET    /api/organization/:id/questions/:number(.:format)      {:controller=>"api/questions", :action=>"index"}

该路线有效,我可以使用以下网址成功向它发出请求:http://localhost:3000/api/organization/1/questions/1234567890

但是,当我尝试get在单元测试中向它发出请求时,我收到以下错误:

没有路线匹配 {:controller=>"api/questions", :action=>"/api/organization/1/questions/1234567890"}

我的获取请求如下所示:

get api_organization_questions_path(@organization.id, '1234567890')

不知道我做错了什么!?

4

1 回答 1

2

你用什么测试?规范?get 方法的第一个参数是操作。下面的代码应该发出您想要的请求:

describe Api::QuestionsController do
  it "should do something" do
    get :index, :id => @organization.id, :number => '1234567890'
  end
end
于 2012-05-10T15:51:08.057 回答