首页 > 解决方案 > RSpec 请求规范没有为发布请求传递参数

问题描述

我不确定这里发生了什么,但是我已经开始了一个新的个人项目,并且由于某种原因在编写请求规范时,发布请求的参数没有通过控制器。这是我的规格:

  let(:params) { {data: {type: 'user', attributes: {...}, relationships: {...} } } }
  before do
      login_as_user(user)
      post "/api/v1/users", params: params.to_json, headers: headers
  end

然而,当我在控制器的创建操作中撬动时,没有参数。有格式、标题、控制器和操作,但没有规范中的参数。

我以前从未遇到过这个问题,也不确定是什么原因造成的。as: :json除了放入请求规范之外,我在网上找不到任何解决此问题的方法。我这样做了,但它并没有解决问题。

更新:当我从请求中删除标头时,参数按预期通过。这是我的路线:

  namespace :api, defaults: { format: :json }, header: { name: 'Content-Type', value: 'application/vnd.api+json' }

感谢您提供任何帮助:D

标签: ruby-on-railsrspecrspec-rails

解决方案


推荐阅读