Rails 用 rest-client 来按照 rails parameters 编码?

linjunhalida · September 05, 2014 · Last by a167651202 replied at September 06, 2014 · 2164 hits

Rails 支持 nested parameters,比如这样的数据:{a: {b: [1,2,3]}},可以编码成:a[b][]=1&a[b][]=2&a[b][]=3

我现在要用 rest-client 来调用这样的接口,用RestClient.put(url, params: {a: {b: [1,2,3]}})不能渲染成上面的方式,请问大家应该怎么做?谢谢~

PUT 的话把参数以 JSON 形式放到 body 里面会更好吧,客户端库拼那个参数因为没标准,所以好麻烦的。。。 用 Ruby 的话还好弄点,直接上 Active Support

require 'active_support/core_ext/object/to_query'
params = { a: { b: [1, 2, 3] } }
params.to_query

用其他语言拼这个就费劲了,都得自己实现一个 to_query ...

唉,最后还是只能拼 url 传给 rest-client 了,没其它的解法。

php 对这种格式也是支持的

个人喜好用 faraday

You need to Sign in before reply, if you don't have an account, please Sign up first.