我可以解释。
在我的路线上我有这个:

resources :questions, :path => 'pq', only: [:index, :show, :create] do
  #many other routes...
  member do
    post :up_vote, action: :vote, vote: 1
    post :down_vote, action: :vote, vote: -1
  end
end

您可以观察到,它有两条用于同一操作的路径,但同时发送一个参数“vote”。
我尝试用rspec进行测试,使用:
before{ post :up_vote, id: 1 }


before{ post :vote, id: 1, vote: 1 }

但我没有成功,总是返回No routes matches
有人知道如何用rspec测试吗?

最佳答案

删除only行中的resources子句,然后重新测试。

关于ruby-on-rails - 我如何用rspec测试不同的路由,但测试相同的 Controller 方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22690483/

10-09 00:36
查看更多