Rails 4 link_to更新控制器的方法

时间:2016-09-11 20:42:47

标签: ruby-on-rails

我想创建一个指向预留控制器更新方法的链接,并更新一个字段的值。在我看来,我有:

tbody
- @reservations.each do |reservation|
  tr
    td =reservation.name
    td =reservation.phone
    td =reservation.email
    td.center =link_to 'Complete', reservations_path(reservation, fulfillment_time: @user.location.current_time),\
        method: :put, class: 'fulfill-now'

但是,没有为更新方法生成链接。相反,它是

http://localhost:3000/reservations.3?fulfillment_time=03%3A38+PM

我认为它应该是

http://localhost:3000/reservations/3?fulfillment_time=03%3A38+PM

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

要链接到更新操作,您应该使用reservation_path(单数)而不是reservations_path

答案 1 :(得分:0)

而不是这一行:

td.center =link_to 'Complete', reservations_path(reservation, fulfillment_time: @user.location.current_time),\

试试这个:)

td.center =link_to 'Complete', reservation_path(reservation, fulfillment_time: @user.location.current_time),\

我建议您在终端中使用命令rake routes来查看路线的确切外观。