rails 4 form_for自定义操作

时间:2016-06-13 02:30:01

标签: ruby-on-rails action form-for

我正在使用<%= form_for @invoice, url: {action: :pay} do |f| %>,但表单会发送到更新操作,而不是&#34; pay&#34;我在控制器中定义的动作。我错过了什么?

1 个答案:

答案 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的输出