0

This one is long to explain but basically my controller is built and expects an array in params[:order_items], so I've tried it like this:

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

but I get the ids concatenated

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

So, How do I send and array in one of the params keys using just html (without js)?

4

2 に答える 2

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%>
于 2013-01-18T12:06:08.680 に答える
2

私はそれを行いますが、htmlを使用したより良い解決策があるかもしれません:

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

EDIT:注文品の場合、私があなたならセッションに入れます。

于 2013-01-18T12:07:15.127 に答える