Как удалить пустые значения параметров из строки запроса

У меня есть форма поиска с большим количеством опций, отправленная на маршрут с запросом Get. URL примерно такой:

http://localhost:3000/restaurants/search?utf8=%E2%9C%93&city=&cuisine=&number_of_people=&query=hello

с гораздо большим количеством параметров. Я хочу сделать это чище что-то вроде удаления всех пустых параметров.

как то так: (в основном удаляются все пустые параметры)

http://localhost:3000/restaurants/search?query=hello

How to do this?

Одним из способов может быть использование

CGI::parse("foo=bar&bar=foo&hello=hi")

Дает тебе

{"foo"=>["bar"], "hello"=>["hi"], "bar"=>["foo"]}

Сначала перенаправьте пользователя на промежуточное действие и промежуточное действие, проверьте, какие параметры не заполнены, и удалите их, а затем, наконец, перенаправьте его на фактическое действие поиска. Но это звучит очень неубедительно. Как я могу сделать это лучше?

Ответы на вопрос(4)

Ваш ответ на вопрос