Ruby on rails 3 Railscasts 71:尝试在post方法中传递参数时发生路由错误

Ruby on rails 3 Railscasts 71:尝试在post方法中传递参数时发生路由错误,ruby-on-rails-3,routing,controller,rspec2,rails-routing,Ruby On Rails 3,Routing,Controller,Rspec2,Rails Routing,我正在使用RSpec-2测试我的控制器,我看到了奇怪的行为。 从本质上说,我在做的事情和在美国一样 这将导致以下错误: 1) DeliverablesController responding to POST create with valid parameters should pass the params to the deliverable item Failure/Error: post :create, :deliverable => {:title =>

我正在使用RSpec-2测试我的控制器,我看到了奇怪的行为。 从本质上说,我在做的事情和在美国一样

这将导致以下错误:

  1) DeliverablesController responding to POST create with valid parameters should pass the params to the deliverable item
     Failure/Error: post :create, :deliverable => {:title => "Some Deliverable"}
     ActionController::RoutingError:
     No route matches {:deliverable=>{:title=>"Some Deliverable"}, :controller=>"deliverables", :action=>"create"}
显然:可交付成果不应该是路线的一部分,而应该写入参数中。我的问题首先是不确定调用了哪个post方法

可以找到我的Gemfile.lock

编辑


还有我的routes.rb可以找到。

有时候从想法中跳出来是很好的:我的问题是我在一个嵌套的route中,基本上做了以下工作

resources :projects do
    resources :deliverables
end
这个错误消息把我甩了,真正的问题是我没有提供项目id。我通过

post :create, :project_id => 11, :deliverable => {:title => "Some Deliverable"}
而不是

post :create, :deliverable => {:title => "Some Deliverable"}
谢谢你,哈马尔

post :create, :deliverable => {:title => "Some Deliverable"}