Я думаю, что эта цепочка 'item1 + item2 + item3' - ваша настоящая проблема.
Стандарт HTML очень специфичен в отношении того, как указываются параметры: они должны быть отделены от URL знаком опроса (?), А каждый параметр имеет следующий синтаксис: name=encoded_value
. Разделитель параметров - это амперсанд (&).
Таким образом, стандартный способ задания параметров будет:
http://domain.com/events/14159-international-hardware-show-2010?number=91&username=prashant&year=2010&source=ALIBA.BACOM&hl=en&ct=clnk
Такой URL позволит вашему контроллеру получить 91
в params[:number]
, "prashant"
в params[:username]
и т. Д.
Если по какой-то причине вы должны сохранить нестандартную структуру, вы можете. Вам нужно будет поместить все нестандартные детали в «большой стандартный параметр».
http://domain.com/events/14159-international-hardware-show-2010?bigparameter=91+prashant+2010+OR+email+OR+data+OR+base+-ALIBA.BACOM&hl=en&ct=clnk
Теперь у вас будет цепочка "91+prashant+2010+OR+email+OR+data+OR+base+-ALIBA.BACOM"
в params[:bigparameter]
. Вы должны будете разобрать его сами, хотя.
Я настоятельно рекомендую следовать первому варианту. В целом, это хорошая идея, чтобы уважать стандарты (это означает меньше проблем и упрощает работу).
В обоих случаях "?" Знак заставит сервер различать базовый URL и параметры, поэтому у вас не возникнет проблем с форматом URL.