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

У меня есть форма поиска с множеством опций, маршрут с запросом 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

Как это сделать?

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

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

Дает вам

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

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

8
задан Mohit Jain 19 June 2012 в 13:47
поделиться