2014-12-10 32 views
0

我有一個Rails 3.2.12應用程序,我想通過表單提交按鈕傳遞一個參數。Rails通過提交參數傳遞參數

該參數是:invoice_id。表單中的值爲@invoice

我嘗試這樣做:

<%= f.submit "Submit", :class => "btn btn-success", params: {:invoice_id => @invoice} %> 

在控制器中,我將訪問它像這樣:

def addinvtimes 
    @invoice = params[:invoice_id] 

但是,它最終被零。

感謝您的幫助!

UPDATE1

+1

爲什麼你想要它作爲提交按鈕的一部分,而不是隱藏的表單字段? – ptd 2014-12-10 22:56:19

回答

3

這不是HTML表單的工作方式。如果有,你想要得到提交連同您的表單數據的其餘部分,但不是由用戶,東西它查看或編輯成一個隱藏字段,像這樣的數據:

<%= form_for @order do |f| %> 
    <%= f.text_field :customer_name %> 
    <%= f.hidden_field :invoice_id, value: @invoice.id %> 
<% end %> 

當你這樣做時, invoice_id將與表單數據的其餘部分一起提交,因此在這種情況下,您可以將其作爲params[:order][:invoice_id]訪問。

+0

感謝您的幫助! – Reddirt 2014-12-11 15:03:32