#ruby-on-rails #routing
#ruby-on-rails #маршруты
Вопрос:
В моей маршрутизации rails у меня есть поиск ресурсов. И вместо /looks/:id Я хочу использовать /looks?посмотрите =:id. Но если я напишу что-то вроде этого: map.look_one ‘/ looks?look =:id’, : controller => ‘looks’, :action => ‘index’ У меня ошибка. Эта строка работает: map.look_one ‘/looks?look#:id’, :controller => ‘looks’, :action => ‘index’
Ответ №1:
На самом деле это намного проще, чем вы это делаете.
Несмотря ни на что, вы всегда можете добавить параметры к URL после ?
Просто попробуйте;
map.look_one '/looks', :controller => 'looks', :action => 'index'
Это создаст путь /looks
, но в равной степени вы можете ссылаться на /looks?look=12345
Последний поступит на ваш контроллер с param[:look] == '12345'
.
Комментарии:
1. Спасибо, но я это знаю) Это для link_to @look.title, look_one_path(@look)
2. Что ж, rails router сделает это за вас. Все дело в путях.