2014-12-10 30 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