2012-03-15 5 views
14

ja spożywania API, który oczekuje mnie zrobić żądania w następującym formacie:Rails - parametr z wielu wartości w adresie URL, gdy zużywa API poprzez aktywne Zasobu

?filter=value1&filter=value2 

jednak używam aktywny zasobów i Kiedy określam wartość mieszania : params, nie mogę ustawić tego samego parametru dwa razy w adresie URL, co uważam za poprawne. Tak więc nie mogę tego zrobić:

:params => {:consumer_id => self.id, :filter => "value1", :filter => "value2" }, ponieważ drugi indeks filtra wartości mieszania zostanie zignorowany.

wiem, że mogę przekazać tablicę (co moim zdaniem jest poprawny sposób to zrobić) tak:

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

która będzie produkować URL takiego:

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

mi Która wydaje się ok, ale API go nie akceptuje. Moje pytanie brzmi:

Jaki jest prawidłowy sposób przekazywania parametrów o wielu wartościach? Czy jest to specyficzne dla języka? Kto to decyduje?

+0

Jestem trochę zdezorientowany. W jaki sposób "filtrować" może mieć 2 różne wartości? – fatfrog

+0

Niestety chodzi mi o to, że wygląda tak, jak napisano API, wartość filtra zostanie po prostu nadpisana ostatnią przekazaną wartością. – fatfrog

+0

@fatfrog Nie wiem, jak API jest napisane, po prostu pobieram dane zgodnie z ich specyfikacją. Ale żebyś wiedział, że API jest w stanie uzyskać dwie wartości, gdy są one przekazywane jak? Filter = value1 & filter = value2 – Nobita

Odpowiedz