我可以解释。
在我的路线上我有这个:
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/