我正在尝试使用ruby中json数组的数据生成一个html表,该数组当前包含5个哈希(可能最多20个哈希)。每个散列有30多个字段(日期、成本等)。我可以手工完成,但编码肯定会更优雅。
html表格是不规则的。第一列是标题,它将是散列键(例如“date”或“cost”),标题列右侧的字段将是一个循环,通过散列获得相应的值。我想到的最贴切的东西是财务报表,下面是一个例子:https://finance.yahoo.com/quote/aapl/financials?p=aapl
实现这一目标的最佳方式是什么?
最终html输出结果的伪代码如下(基于下面的json数组示例):
<table>
<tr>
<th>Date</th>
<td>2021-07-01</td>
<td>2021-07-02</td>
</tr>
<tr>
<th>Component Number</th>
<td>ABC123</td>
<td>XYZ789</td>
</tr>
<tr>
<th>Cost</th>
<td>1.0</td>
<td>5.0</td>
</tr>
</table>
json结构如下所示(此处仅限于2个哈希,但可能多达20个)。我目前有一个示例变量 @cf
使用httparty获取json数组。
[ {
"date": "2021-07-01",
"componentNumber": "ABC123",
"cost": "1.0",
"other": "test"
}, {
"date": "2021-07-02",
"componentNumber": "XYZ789",
"cost": "5.0",
"other": "test"
} ]
如果你需要更多的信息,请告诉我。谢谢
2条答案
按热度按时间ngynwnxp1#
可能不是最优的,但我最终使用了以下伪代码:
希望这有助于寻找这一特定问题的人。如果你有更好的解决办法,我很想听听!
vd8tlhqk2#
给定你的变量
@cf
包含散列,您可以按照以下示例在视图中构建表:生成的html如下所示:
对于转置表
如果需要转置布局,可以调整控制器中的数据,从原始散列生成转置集表(数组),例如:
这将返回以下数据结构:
最终使用
@transposed_with_headers
从这个Angular 来看:这将生成以下html代码: