首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >铁路#71:在post方法中传递参数时的路由错误

铁路#71:在post方法中传递参数时的路由错误
EN

Stack Overflow用户
提问于 2011-05-08 22:45:09
回答 1查看 150关注 0票数 0

我正在使用RSpec-2测试我的控制器,我看到了奇怪的行为。实际上,我在做的事情和在铁路#71中做的一样

代码语言:javascript
复制
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

这将导致以下错误:

代码语言:javascript
复制
  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可以找到这里

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-05-09 10:30:41

有时候,提出一些想法是很好的:我的问题是,我处于一个嵌套的路径中,基本上做了以下工作。

代码语言:javascript
复制
resources :projects do
    resources :deliverables
end

这条错误消息把我吓了一跳,真正的问题是我没有提供project_id。我把它修好了

代码语言:javascript
复制
post :create, :project_id => 11, :deliverable => {:title => "Some Deliverable"}

而不是

代码语言:javascript
复制
post :create, :deliverable => {:title => "Some Deliverable"}

谢谢你,hammar!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5930882

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档