Jquery RubyonRails:选择模型的多个项并将它们插入到新表中

Jquery RubyonRails:选择模型的多个项并将它们插入到新表中,jquery,ruby-on-rails,ruby,ruby-on-rails-4,Jquery,Ruby On Rails,Ruby,Ruby On Rails 4,我对Rails还相当陌生。我正在尝试构建一个小应用程序。 我有4种型号的订单、房间、物品和库存 我想向用户显示一个项目列表(已经存在于数据库中)。用户可以选择项目以及该列表中的数量。选择完成后,所选项目应保存到库存表中 库存表具有物料id、订单id和数量 继续后,它应显示另一个房间的项目等,直到所有房间都完成 我在这一点上被困在如何继续下去的问题上 上面页面的我的视图文件如下所示 <div class="row"> <h6>Living Room</h6>

我对Rails还相当陌生。我正在尝试构建一个小应用程序。 我有4种型号的订单、房间、物品和库存

我想向用户显示一个项目列表(已经存在于数据库中)。用户可以选择项目以及该列表中的数量。选择完成后,所选项目应保存到库存表中

库存表具有物料id、订单id和数量

继续后,它应显示另一个房间的项目等,直到所有房间都完成

我在这一点上被困在如何继续下去的问题上

上面页面的我的视图文件如下所示

<div class="row">
   <h6>Living Room</h6>
</div>
<% @items.each do |item| %>
    <p "name1"><%= item.name.capitalize %> </p>
<% end %>
<a href="#" >Next Room</a>

客厅


是否有任何方法可以识别所有选定的项目以及数量并立即创建所有记录?

创建项目数组将是一个很好的解决方案:

<% @items.each do |item| %>
  ...
  = text_field_tag "item[#{item.id}]", value: 0 
  ...
<% end %>

我不太确定您从哪里获得订单id,所以我假设您有一个
当前的\u order
方法。

您的视图结构像表单吗?似乎不是。现在不是。我想把它组织成一个表单,但做不到(决定表单的动作)。如果我能以一次创建库存表的所有条目的方式构造它(插入订单id和项目id的隐藏字段),那么这对我来说是最好的。如果你想用POST发送一个数组,你应该使用像
itemquantity[]
这样的名称。。。如果您发送多个同名对象,我想只会提交最后一个。@RubyRacer,是否要我为Inventory controller的创建方法构造一个表单,其中表单字段的名称为itemquantity[]?我不想您做任何事情,我只是告诉您表单是如何提交数据的。如果必须提交一个对象数组,则必须相应地重新构造@KPheasey的答案即将向您展示。嗨,我对rails有点陌生。那么,你能就答案进行详细的讨论吗?我的视图代码是否应该以表单的形式构造,并且操作是针对items controller的更新方法?我想我已经理解了你的意思。我已经对你的代码做了一些修改,看起来很有效。非常感谢。关于上述问题,我面临另一个问题,我已编辑了该问题。你能帮我一下吗?
def update
  params[:item].each do |item_id, quantity|
    next if quantity == 0
    inventory = Inventory.find_or_initialize_by(item_id: item_id, order_id: current_order.id)
    inventory.quantity = quantity
    inventory.save
  end
end