首先,我想提一下,我对 Ruby 和 Rails 完全陌生,我才刚开始学习,所以如果我的问题看起来有点不清楚或太宽泛,我深表歉意。
我正在尝试做一些简单的事情(我认为?),即旋转表格。
我有一个看起来像这样的表:
----------------------------------
| Name | Product ID | Amount |
|----------|----------------------
| Robert | P1 | 2 |
| Michael | P2 | 1 |
| Leonard | P2 | 1 |
| Robert | P2 | 4 |
| Robert | P3 | 2 |
| Michael | P3 | 1 |
----------------------------------
...我想把它变成这样:
---------------------------
| Name | P1 | P2 | P3 |
---------------------------
| Robert | 2 | 4 | 2 |
| Michael | - | 1 | 1 |
| Leonard | - | 1 | - |
---------------------------
我不太确定如何实现这一目标。我环顾四周,没有找到任何适合我的问题的内容。
我发现了一个名为pivot_table的gem,可以在这里找到:https://github.com/edjames/pivot_table但我不知道如何exactly用它。它有一个小指南,但我不知道在哪里放置代码。
任何帮助是极大的赞赏。
谢谢。
看看你的表和你正在寻找的结果,我会这样做(我假设它是一个订单表?)
result = []
Order.all.group_by(&:name).each do |name, orders|
record = {}
record["name"] = name
orders.each do |order|
record[order.product_id] = order.amount
end
result.append(record)
end
我希望这会给您一个良好的起点!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)