Rails:如何布局与数据模型流不同的表单



我有一个表示每周订单的数据模型。例如。我的订单可能是

Monday: 2 x coffee
Tuesday: 2 x tea
Wednesday: 3 x coffee, 4x tea 

我在周末支付我的订单。

我将其表示为:

Order
   has_many: days
Day
   has_many: line_items

我有一个表格的形式:

form_for @order
   fields_for :days
       fields_for :line_items

产生类似

Monday
   Tea x 2
   Coffee x 0
Tuesday
   Tea x 1
   Coffee x 3
Wednesday
   Tea x 1
   Coffee x 2

我希望我的表单是这样的表格:

            Monday     Tuesday     Wednesday
Coffee       2           1           1 
Tea          0           3           2
Add+

我可以通过循环彻底的 Order.days.each do |day| day.each 等来做到这一点,试图找出输入字段的名称"order[]days[]line_items[]"并为line_item和 day 添加隐藏变量,但事实证明它比它第一次看起来更难。

我错过了更简单的方法吗?

我这样做的方法是在哈希中构建表单元素并将它们附加到表单之后

form_for @order
  fields_for :days
      fields_for :line_items
          hash[line_item.product][day.theday] = select_tag...

然后循环访问天数和产品,并在表中输入适当的选择标记

最新更新