Schienen - Parameter mit mehreren Werten in der URL, wenn Sie verbrauchen eine API über Aktive Ressourcen
Ich bin verbraucht ein API, das von mir, dass Anträge, die im folgenden format:
?filter=value1&filter=value2
Jedoch, ich bin mit Active Resource und wenn ich geben Sie die :params hash, ich kann nicht den gleichen parameter zu erscheinen doppelt in der URL, die ich glaube, ist richtig. Also ich kann das nicht tun:
:params => {:consumer_id => self.id, :filter => "value1", :filter => "value2" }
da der zweite filter index der hash werden ignoriert.
Ich weiß, ich kann ein array übergeben (was ich glaube, ist der richtige Weg, es zu tun) so:
:params => {:consumer_id => self.id, :filter => ["value1","value2"] }
Produzieren eine URL wie:
?filter[]=value1&filter[]=value2
Die scheint mir ok, aber die API ist nicht anzunehmen. Also meine Frage sind:
Was ist die richtige Art der übergabe von Parametern mit mehreren Werten? Ist es die Sprache spezifisch? Wer entscheidet dies?
InformationsquelleAutor der Frage Nobita | 2012-03-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
erstellen einer gültigen Abfrage-Zeichenfolge, die Sie verwenden können,
params = {a: 1, b: [1,2]}.to_query
http://apidock.com/rails/Hash/to_query
http://apidock.com/rails/Hash/to_param
InformationsquelleAutor der Antwort spr86
http://guides.rubyonrails.org/action_controller_overview.html#hash-and-array-parameters
Versuchen :filter[] => Wert :filter[] => Wert2
InformationsquelleAutor der Antwort fatfrog