2014-10-20 4 views
0

Попытка ссылки на страницу с поисковым запросом на страницу бронирования. На странице поискового запроса есть список операторов кабины. Когда я пытаюсь добавить ссылку, он берет меня на запрос POST для заказа/нового вместо запроса GET:rails new_booking_path берет на POST вместо GET

<%= button_to "Book", new_booking_path(fare: print_price(fare_airport(operator, cat, distance))) %> 

Очевидно, что это приводит к маршрутизации ошибки, поскольку рельсы не определяет запрос POST для новые действия. это, однако, принять параметр тарифа, который я прохожу как часть запроса:

http://localhost:3000/bookings/new?fare=840.00 

Я попытался заставить эту ссылку на запрос GET, как показано ниже:

<%= button_to "Book", new_booking_path(fare: print_price(fare_airport(operator, cat, distance))), method: :get %> 

Это работает, но он не берет плату за проезд (или любой другой) параметр, который я прохожу как часть запроса, как следующее:

http://localhost:3000/bookings/new? 

Как решить эту проблему?

+0

передачи параметра в 'new_booking_path' не должен генерировать запрос POST. можете ли вы распечатать таблицу маршрутов здесь? – Alireza

+0

Rails.application.routes.draw делать ресурсов: заказы ресурсов: airport_fares ресурсов: cabcategories ресурсов: операторы прибудут 'поиска/результат' прибудут 'расстояние/изменить' конец –

+3

[ 'button_to' ] (http://apidock.com/rails/ActionView/Helpers/UrlHelper/button_to) генерирует форму, а не ссылку. Пожалуйста, внимательно прочитайте документацию. –

ответ

0

button_to не предполагайте, что бы создать get запрос. Вот кнопка для помощника http://apidock.com/rails/ActionView/Helpers/UrlHelper/button_to. Если вы хотите получить запрос get, вы должны использовать link_to и внести изменения в дизайн, чтобы он выглядел как кнопка.

Здесь полезна ссылка на этом http://www.smashingmagazine.com/2009/11/18/designing-css-buttons-techniques-and-resources/

Смежные вопросы