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

linjunhalida · 2014年09月05日 · 最后由 a167651202 回复于 2014年09月06日 · 2155 次阅读

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

需要 登录 后方可回复, 如果你还没有账号请 注册新账号