ruby-on-rails - Rails-通过事件资源使用API​​时,URL中具有多个值的参数

标签 ruby-on-rails api url w3c

我正在使用一个API,该API希望我以以下格式进行请求:

?filter=value1&filter=value2


但是,我使用的是Active Resource,当我指定:params哈希值时,无法使同一参数在URL中出现两次,我认为这是正确的。所以我不能这样做:

:params => {:consumer_id => self.id, :filter => "value1", :filter => "value2" },因为哈希的第二个过滤器索引将被忽略。

我知道我可以像这样传递一个数组(我相信这是正确的方法):

:params => {:consumer_id => self.id, :filter => ["value1","value2"] }


这将产生如下URL:

?filter[]=value1&filter[]=value2


在我看来这没关系,但API不接受它。所以我的问题是:

传递带有多个值的参数的正确方法是什么?它是特定于语言的吗?谁来决定?

最佳答案

要创建有效的查询字符串,可以使用

params = {a: 1, b: [1,2]}.to_query

http://apidock.com/rails/Hash/to_query
http://apidock.com/rails/Hash/to_param

关于ruby-on-rails - Rails-通过事件资源使用API​​时,URL中具有多个值的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9713382/

相关文章:

python - 使用python向facebook上的人发送消息

javascript - 访问的 URL 不正确

url - 在不记录每次点击的情况下估算每小时 URL 点击次数的聪明方法?

python - 我的谷歌地图 api key 在 python 中不起作用,尽管它在 swift 中工作

javascript - Chrome 扩展 : How to convert a local HTML file into a URL to display?

ruby-on-rails - 使用 StrongParameters 允许无需删除其他键

ruby-on-rails - 任务 :after_update_code is deprecated . .. 写这个的新方法是什么

ruby-on-rails - 轮胎/Elasticsearch 搜索关联

ruby-on-rails - Rails 5 - 如何将 Controller 中整个 jsonb postgres 列的参数列入白名单?

c - Lua C API - 将数据附加到协程