我有一个表示每周订单的数据模型。例如。我的订单可能是
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...
然后循环访问天数和产品,并在表中输入适当的选择标记