Rails通过提交参数传递参数
问题描述:
我有一个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
答
这不是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
为什么你想要它作为提交按钮的一部分,而不是隐藏的表单字段? – ptd 2014-12-10 22:56:19