微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

具有主动支持 to_query 的编码参数不会为数组生成正确的字符串

如何解决具有主动支持 to_query 的编码参数不会为数组生成正确的字符串

我正在尝试将哈希编码为 HTTP 参数。为此,我使用了 activesupport 的 to_query 方法

options = {:mail=>"dabrother+jido@gmail.com",:firstName=>"Henrieeto",:lastName=>"brother",:sendCredentials=>"true",:lang=>"fr",:groups=>["60ac8ef4cf911758a54a1307"]}

options.to_query 产生

"firstName=Henrieeto&groups%5B%5D=60ac8ef4cf911758a54a1307&lang=fr&lastName=brother&mail=dabrother%2Bjido%40gmail.com&sendCredentials=true"

那么如果我URI.decode( options.to_query),我得到

"firstName=Henrieeto&groups[]=60ac8ef4cf911758a54a1307&lang=fr&lastName=brother&mail=dabrother+jido@gmail.com&sendCredentials=true"

这不是我所期望的,因为 groups[]=60ac8ef4cf911758a54a1307 不是预期的输出,它应该是 groups[0]=60ac8ef4cf911758a54a1307

在这里做错了什么,如何正确编码选项哈希中的数组?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。