加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何在Ruby on Rails上创建“数据透视表”?

发布时间:2020-12-17 04:01:35 所属栏目:百科 来源:网络整理
导读:首先,我想提一下我对 Ruby和Rails的完全新手,我正在学习的第一天,所以如果我的问题看起来有些不清楚或太宽泛,我会道歉. 我正在尝试做一些简单的事情(我想?),这是为了转动一个表格. 我有一个看起来像这样的表: ----------------------------------| Name |
首先,我想提一下我对 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的宝石,可以在这里找到:https://github.com/edjames/pivot_table,但我不知道如何正确使用它.它有一个小指南,但我不知道在哪里放置代码.

任何帮助是极大的赞赏.

谢谢.

解决方法

看看你的表和你正在寻找的结果,我会这样做(我假设它是一个订单表?)

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

我希望这会给你一个很好的起点!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读