在我的应用程序中,我有一个主题的概念。用户可以观看主题。我创建了WatchedController
和TopicController
来处理这个问题。这是我的路线:
resources :topics, :only => [:show, :index] do
resource :watched, :only => [:create, :destroy]
end
这是我失败的样本Rspec测试:
it "failing test" do
post :create, :topic_id => @topic.id
end
当我运行规范时,Rspec抱怨:
Failure/Error: post 'create', :topic_id => @topic.id
ActionController::RoutingError:
No route matches {:topic_id=>1, :controller=>"watched", :action=>"create"}
我浪费了一个小时来解决这个问题,我仍然无法弄清楚为什么它不起作用。有什么帮助吗?
答案 0 :(得分:2)
在命令行运行rake routes
以查看您已成功定义的路由,然后修复路由定义以理解或修复规范中的代码,使其与该列表中的某个路由匹配。