rails 4 form_for 个自定义操作

rails 4 form_for custom action

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

您的路由中有参数 :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

的输出中看到