为什么Rspec不像我的路线?

时间:2011-07-08 06:31:08

标签: ruby-on-rails routing rspec

在我的应用程序中,我有一个主题的概念。用户可以观看主题。我创建了WatchedControllerTopicController来处理这个问题。这是我的路线:

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"}

我浪费了一个小时来解决这个问题,我仍然无法弄清楚为什么它不起作用。有什么帮助吗?

1 个答案:

答案 0 :(得分:2)

在命令行运行rake routes以查看您已成功定义的路由,然后修复路由定义以理解或修复规范中的代码,使其与该列表中的某个路由匹配。