У меня есть форма поиска с множеством опций, маршрут с запросом 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"]}
Сначала перенаправьте пользователя на промежуточное действие, а в этом промежуточном действии проверьте, какие параметры пусты, и удалите их, а затем, наконец, перенаправьте его на фактическое действие поиска. Но это звучит очень коряво. Как я могу сделать это лучше?