You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Ruby net/http中将id数组作为查询参数传递

问题原因

Ruby标准库的URI.encode_www_form方法处理数组类型的参数时,默认会生成ids[]=2&ids[]=24&ids[]=13这种带数组后缀的多参数格式,不符合你需要的逗号拼接单参数格式。

解决方案

你只需要提前把store_ids数组用逗号拼接成字符串,再传入参数哈希即可,修改后的代码如下:

def get_stores_info
  uri = URI(BASE_URL)
  # 把ID数组转成逗号分隔的字符串
  ids_str = store_ids.join(',')
  params = { ids: ids_str, offset: DEFAULT_OFFSET, limit: DEFAULT_LIMIT }
  uri.query = URI.encode_www_form(params)
  response = Net::HTTP.get_response(uri).body
  result = JSON.parse response
end

如果store_ids的元素是数字类型,join方法会自动转换为字符串,不需要额外做类型处理,最终生成的query参数就会是ids=2,24,13的预期格式。

内容的提问来源于stack exchange,提问作者McNulty007

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 23:45:08