Ich habe ein Suchformular, mit vielen Optionen, Eingereicht zu einer Route mit Get-Anfrage. URL ist so etwas wie folgt:So entfernen Sie leere Werte Parameter aus der Abfragezeichenfolge
http://localhost:3000/restaurants/search?utf8=%E2%9C%93&city=&cuisine=&number_of_people=&query=hello
mit viel mehr params. Ich möchte es sauberer machen so etwas wie entfernen Sie alle Parameter, die leer sind.
etwas wie folgt aus: (Im Grunde genommen alle params zu entfernen, die leer sind)
http://localhost:3000/restaurants/search?query=hello
Wie dies zu tun?
Eine Möglichkeit können mit
CGI::parse("foo=bar&bar=foo&hello=hi")
Sie gibt
{"foo"=>["bar"], "hello"=>["hi"], "bar"=>["foo"]}
Erste Redirect Benutzer auf einem zwischen Aktion und dass zwischen Aktion Prüfung, die params sind leer und sie entfernen und dann schließlich ihn auf die tatsächliche Aktion der Suche umleiten. Aber das klingt sehr lahm. Wie kann ich das besser machen?
Warum leere Werte sind das Problem? –
@SergioTulentsev URLs sauberer zu machen .. –
@SergioTulentsev Es ist eine Suchmaske. Sobald der Benutzer das Formular abschickt. Alles kommt auf. –