2016-06-13 109 views
0

我正在使用<%= form_for @invoice, url: {action: :pay} do |f| %>,但表單被髮送到更新操作,而不是我在控制器中定義的「付款」操作。我錯過了什麼?rails 4 form_for自定義動作

+0

你使用的是reso urces路線? – uzaif

+0

對不起,我忘了提到這一點。我定義了'發佈'發票/:id'=>'invoices#pay'' – mrtnmgs

+0

你能告訴我你的路線嗎? – uzaif

回答

1

你PARAM :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