2014-10-20 71 views
0

试图将我的搜索查询页面链接到预订页面。搜索查询页面包含驾驶室操作员列表。当我尝试添加下面的链接,它需要我为预约/新的代替GET请求的POST请求: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 2014-10-20 10:43:08

+0

Rails.application.routes.draw做 资源:预订 资源:airport_fares 资源:cabcategories 资源:运营商 得到 '搜索/结果' 得到 '距离/编辑' 端 – 2014-10-20 10:46:52

+3

['button_to' ](http://apidock.com/rails/ActionView/Helpers/UrlHelper/button_to)生成表单而不是链接。请仔细阅读文档。 – 2014-10-20 10:47:21

回答