Ruby on rails 在rails中发布一个数组

Ruby on rails 在rails中发布一个数组,ruby-on-rails,ruby,post,Ruby On Rails,Ruby,Post,这是一个很长的解释,但基本上我的控制器是建立和预期的阵列中 params[:order\u items],因此我尝试了以下方法: <%= hidden_field_tag "order_items", @order[:order_items_ids] %> <%@order[:order_items_ids].each do |oid|%> <%= hidden_field_tag "order_items[]", oid %> <%end%&

这是一个很长的解释,但基本上我的控制器是建立和预期的阵列中
params[:order\u items]
,因此我尝试了以下方法:

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

但是我把ID连接起来了

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


那么,如何仅使用html(不使用js)发送并在其中一个
params
键中排列

您可以将其发布在一个字符串中,该字符串由“,”连接,如:

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

然后在控制器中拆分它。 但是如果你真的想要它在一个数组中。您也可以这样做:

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

我会这样做,但html可能有更好的解决方案:

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


编辑:只是说,对于订购物品,如果我是你,我会把它放在会话中。

对不起,我害怕怪物……但是试试看:
漂亮而简单!完全保存了我的a@!10倍!