如何在 Ruby on Rails 上制作“数据透视表”?

2023-11-24

首先,我想提一下,我对 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(使用前将#替换为@)

如何在 Ruby on Rails 上制作“数据透视表”? 的相关文章

随机推荐

  • 如何读取3gp / AMR-NB音频格式的原始值?

    在我的 Android 应用程序中 我正在录制用户的声音 并将其保存为 3gp 编码的音频文件 我想做的就是打开它 即代表音频样本的序列 x n 以便执行一些音频信号分析 有谁知道我该怎么做 您可以使用安卓媒体编解码器解码 3gp 或其他媒
  • Android 中的 Button 类膨胀错误

    我有一个最小 sdk 16 到 23 的应用程序 我想尽可能多地使用 Material design 它还必须是全屏应用程序 包含 AppCompat 支持库 现在我有一些按钮的登录活动
  • 如何自动更新 Windows Mobile 应用程序

    我有一个 net cf 3 5 Windows Mobile 应用程序 我的客户希望它具有自动更新功能 这是我到目前为止所拥有的 使用智能设备 CAB 项目创建 CAB 这是否足够好 或者我应该在这里做其他事情 2 获取应用程序版本号 As
  • iOS - 关闭作为 inputView 呈现的 UIDatePicker

    我的 UI 中有一个文本字段 当选择它时会显示 UIDatePicker 而不是默认键盘 我如何设置一个按钮以便在用户完成后关闭选择器 我所做的是将我的 inputView 作为自定义视图 其中包含UIDatePicker其上方有一个工具栏
  • $this->load->model() 在 CodeIgniter 中不起作用

    我正在使用 CodeIgniter 2 1 2 这是我现在的情况 我有一个名为 math php 的模型C wamp www cr8v application models 我正在尝试将其加载到我的控制器中C wamp www cr8v a
  • Ajax文件下载问题

    我正在我的应用程序中下载动态文件 使用 iframe 模拟 ajax 我正在做的是 当发出下载请求时 我将创建一个动态的不可见 iframe 并将 iframe 的 src 设置为下载网址 我能够成功下载文件 但要求是显示下载一旦下载开始
  • jQuery 1.10.1 在选择上设置不存在的值

    有人可以解释一下这种行为
  • Java内存模型中的Happens-Before关系

    关于 JLS ch17线程和锁 它表示 如果一个操作发生在另一个操作之前 则第一个操作对第二个操作可见并且在第二个操作之前排序 我想知道 1 之前订购 到底是什么意思 因为即使action a发生在action b之前 在某些实现中acti
  • Bootstrap 3+Rails 4 - 某些 Glyphicons 不工作

    我正在尝试在我的 Rails 4 应用程序中使用 Bootstrap 3 已关注this使用 bootstrap saas 设置 bootstrap 3 的教程thisgithub 页面 Bootstrap 工作正常 但字形图标未按预期工作
  • C# 如何正确地对遵循装饰器模式的类进行单元测试?

    我对单元测试相当陌生 我们说话时我实际上正在研究它 我的目标当然是能够在下面的类中测试该方法 该类只是检查输入是否已经在缓存中 如果输入不在缓存中 它将返回输入的反转形式 虽然实现不在这里 但假设它存在 因为目的只是为了测试 基本上 目标是
  • 获取与 int 值关联的枚举

    以前 我将 LegNo 枚举简单定义为 NO LEG LEG ONE LEG TWO 并通过调用return LegNo values i 我能够获得与每个枚举相关的值 但现在我决定我想要LegNo enum NO LEG为 int 1 而
  • 如何传递列表元素作为引用?

    我将列表的单个元素传递给函数 我想修改该元素 从而修改列表本身 def ModList element element TWO l list l append one l append two l append three print l
  • 在 iOS/Swift 中创建并导出为 Base64 的 RSA 公钥在 Java 中无法识别

    TL DR 在 iOS 中生成并存储在钥匙串中 导出为 base64 并发送到 java 后端的 RSA 公钥无法识别 我正在 iOS 应用程序中实现聊天加密功能 并使用对称 非对称密钥来处理它 无需过多讨论细节 在后端 我使用用户的公钥来
  • 将.net core 5.0发布到单个exe文件中

    有谁能够帮助我 我正在尝试将我的 net core 控制台应用程序发布到单个文件中 我正在使用这个命令 dotnet publish r win x64 c Release p PublishSingleFile true p Publis
  • 如何在不登录 Xcode 8 的情况下构建 IPA

    我已经在SO和其他地方进行了搜索 我只发现这个答案的旧版本似乎不再起作用 还有大量其他内容甚至与最新版本不相关 长话短说 我们有一位开发人员向我们提供了 IPA 但他不想加入我们的开发人员小组 我告诉他给我们发送一个未签名的 IPA 但我们
  • 如何访问 Windows 中的特殊目录?

    在 Windows 上检索用户桌面 文档文件夹和其他系统文件夹的 C 语法是什么 您可以使用环境 GetFolderPath与环境 特殊文件夹枚举 例如 string desktopPath Environment GetFolderPat
  • WPF MVVM KeyBinding 无法立即识别并且并不总是有效

    无论出于何种原因 当我的 WPF 应用程序加载时 我的 UserControl 的 KeyBindings 就无法工作 它们在我按下表单上的按钮后起作用 但当我通过单击或 alt tab 键或移动或类似方式将焦点设置到表单时则不起作用 当它
  • Angular7 - 无法绑定到“dataSource”,因为它不是“mat-table”的已知属性

    我正在使用 Angular 7 0 2 在尝试使用以下命令创建表时遇到此错误角材料 无法绑定到 dataSource 因为它不是 mat table 的已知属性 应用程序路由 module ts import NgModule from a
  • 全新安装 Rails 并收到 OpenSSL 错误:“已经初始化常量 OpenSSL”

    我在尝试使用 RoR 时遇到了困难 我参加了 Ruby Installfest 但遇到了一个问题 我认为是 openssl bundle 我正在使用 RVM 并运行 Rails 5 0 1 和 Ruby 2 4 0 我尝试使用完全删除 重新
  • 如何在 Ruby on Rails 上制作“数据透视表”?

    首先 我想提一下 我对 Ruby 和 Rails 完全陌生 我才刚开始学习 所以如果我的问题看起来有点不清楚或太宽泛 我深表歉意 我正在尝试做一些简单的事情 我认为 即旋转表格 我有一个看起来像这样的表 Name Product ID Am