更新时请求规范错误

时间:2016-09-12 10:44:43

标签: ruby-on-rails ruby rspec

我正在尝试使用rspec测试我的rails项目并且遇到了一些困难,我正在尝试编写更新产品的请求规范,但它似乎不起作用:

这是我的测试:

  it 'updates a product' do
    put :update, id: @product, product: FactoryGirl.attributes_for(:product, title: "New Title")
    @product.reload
    @product.title.should eq("New Title")
  end

这是我得到的错误:

   Failure/Error: put :update, id: @product, product: FactoryGirl.attributes_for(:product, title: "New Title")

     URI::InvalidURIError:
       bad URI(is not URI?): http://www.example.com:80update

如何解决这个问题的任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您是否设置了@product?它没有显示在您的代码中。如果没有,那么问题可能是您的PUT请求中的id参数为零。如果已设置@product,您是否尝试使用id: @product.id代替id: @product