我正在使用 RSpec-2 来测试我的控制器,但我看到了奇怪的行为。基本上我做的和Railscasts #71一样
describe DeliverablesController do
describe "responding to POST create" do
describe "with valid parameters" do
it "should pass the params to the deliverable item" do
post :create, :deliverable => {:title => "Some Deliverable"}
assigns[:deliverable].title.should == "Some Deliverable"
end
end
end
end
这会导致以下错误:
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"}
显然:deliverable
不应该是路由的一部分而是写入params
. 我的问题始于不确定post
调用哪种方法。
我的 Gemfile.lock 可以在这里找到。
编辑
我的 routes.rb 可以在这里找到。