我正在使用<%= form_for @invoice, url: {action: :pay} do |f| %>
,但表单会发送到更新操作,而不是&#34; pay&#34;我在控制器中定义的动作。我错过了什么?
答案 0 :(得分:2)
您的路线中有参数:id
,您应该在表单操作中为id
分配一个参数,试试这个
<%= form_for @invoice, url: {action: "pay", params: {id: @invoice.id}} %>
或者您可以使用path
<%= form_for @invoice, url: for_pay_path(@invoice) %>
for_pay_path
更改为pay
操作的路径,您可以看到rake routes
的输出