如何通过HTTParty gem传递补丁http请求参数?

时间:2014-07-30 01:28:06

标签: ruby-on-rails ruby http httparty

我正在使用HTTParty gem来发出补丁请求,通过API调用更新对象,如下所示:

params = { first_name: "John"}

@options = {params: params}
@response = HTTParty.patch("http://localhost:3000/1/kites/4", @options)

但是在API方面,在上述PATCH请求应该调用的更新方法中,我只看到以下可用参数:

{"format"=>"json",
 "controller"=>"api/v1/kites",
 "action"=>"update",
 "version"=>"1",
 "id"=>"4"}

将错误消息传递回@response以进行过操作。

first_name发生了什么事和/或如何确切地调用HTTParty.patch,如果这确实是导致传递给API的参数丢失的原因?

编辑:

事实证明,如果我做了

@options = {query: params}

只有在我将查询保持在一定大小的情况下才有效....

1 个答案:

答案 0 :(得分:1)

不确定您的'patch'操作在您的API中到底能做什么,但是documentation说您需要在body:键中传递URL和参数,就像这样:

HTTParty.patch('site/your_url', body: { key1: value, key2: value })

另外,您可以在query:键中传递参数,该参数会将参数附加到URI。

HTTParty.patch('site/your_url', query: { key1: value, key2: value })