2013-01-18 50 views
0

數組這是一個長的解釋,但基本上我控制器內置,預計在 params[:order_items]一個數組,所以我試着這樣說:張貼在軌

<%= hidden_field_tag "order_items", @order[:order_items_ids] %> 

,但我得到級聯的ID

<input id="gig_items" name="gig_items" type="hidden" value="2300124946"> 

那麼,如何發送和陣列中僅使用HTML(無JS)的params關鍵之一?

+0

對不起,我怕的怪物...... – apneadiving

+0

的...但嘗試:'<%= hidden_​​field_tag 「ORDER_ITEMS」,@order [:order_items_ids] .to_json%> ' – apneadiving

回答

5

您可以通過加入一個字符串,它張貼「」像:

<%= hidden_field_tag "order_items", @order[:order_items_ids].join(",") %> 

然後在你的控制器將其分割。 但是如果你真的想要它在一個數組中。你也可以像下面這樣做:

<%@order[:order_items_ids].each do |oid|%> 
    <%= hidden_field_tag "order_items[]", oid %> 
<%end%> 
+0

簡單好用的!完全保存了我的@ @! 10倍! – devmonster

2

我會做,但有可能與HTML更好的解決方案:

<% @order.order_items_ids.each do |o| %> 
    <input id="order_items" name="order_items[]" type="hidden" value="<%= o %>" /> 
<% end %> 

編輯:只是說,對於訂單項目,我會把它放進如果我是你,會話。