Jak usunąć puste wartości parametrów z ciągu zapytania
Mam formularz wyszukiwania, z wieloma opcjami, Przesłany na trasę za pomocą polecenia Pobierz. URL to coś takiego:
http://localhost:3000/restaurants/search?utf8=%E2%9C%93&city=&cuisine=&number_of_people=&query=hello
o wiele więcej parametrów. Chcę uczynić go czystszym, jak usunąć wszystkie puste parametry.
coś takiego: (Zasadniczo usunięcie wszystkich params, które są puste)
http://localhost:3000/restaurants/search?query=hello
Jak to zrobić?
Jednym ze sposobów może być użycie
CGI::parse("foo=bar&bar=foo&hello=hi")
Daje Ci
{"foo"=>["bar"], "hello"=>["hi"], "bar"=>["foo"]}
Najpierw przekieruj użytkownika na akcję między działaniami, a między działaniami sprawdź, które parametry są puste i usuń je, a następnie przekieruj go na rzeczywistą akcję wyszukiwania. Ale to brzmi bardzo kiepsko. Jak mogę to zrobić w lepszy sposób?