Rails – 通过Active Resource使用API​​时URL中包含多个值的参数

我正在使用API​​,希望我以下列格式执行请求:

?filter=value1&filter=value2 

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

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

我知道我可以传递一个数组(我认为这是正确的方法),如下所示:

 :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