Ruby on rails RSpec请求规范未传递post请求的参数

Ruby on rails RSpec请求规范未传递post请求的参数,ruby-on-rails,rspec,rspec-rails,Ruby On Rails,Rspec,Rspec Rails,我不确定这里发生了什么,但我已经开始了一个新的个人项目,出于某种原因,在编写请求规范时,post请求的参数没有通过控制器。 这是我的规格: let(:params){{data:{type:'user',属性:{…},关系:{…} 在做之前 以用户身份登录(用户) post“/api/v1/users”,参数:params.to_json,headers:headers 结束 然而,当我在控制器的create操作中放置一个pry时,没有参数。有格式、标题、控制器和操作,但没有规范中的参数 我以

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

let(:params){{data:{type:'user',属性:{…},关系:{…}
在做之前
以用户身份登录(用户)
post“/api/v1/users”,参数:params.to_json,headers:headers
结束
然而,当我在控制器的create操作中放置一个pry时,没有参数。有格式、标题、控制器和操作,但没有规范中的参数

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

更新:当我从请求中删除头时,参数会按预期的那样通过。 以下是我的路线:

namespace:api,默认值:{format::json},头:{name:'Content-Type',value:'application/vnd.api+json'}

感谢您提供的任何帮助:D

不应该是路由定义中的
标题
而不是
标题
,还有,您在使用什么?轨道?葡萄?用铁轨。header或header在传递标头方面起作用。但是当我在这里使用content-type头时,它不会传递参数。您尝试过没有设置吗?您使用什么版本的RSpec?因为语法发生了变化,并且您的规范(参数嵌套在
params:
下面)是围绕RSpec 3.5引入的新语法,因此必须在RSpec 4中使用。上述代码的问题是参数上的.to_json。参数应该作为哈希在规范中传递