プルしてオブジェクトに読み込むJSONがあります@items
:
[
{
{
"id": "A",
"description": "a_description_one"
"value": some_alphanumeric_string
},
{
"id": "B",
"description": "b_description_one"
"value": some_alphanumeric_string
},
{
"id": "C",
"description": "c_description_one"
"value": some_alphanumeric_string
}
},
{
{
"id": "C",
"description": "c_description_3"
"value": some_alphanumeric_string
},
{
"id": "A",
"description": "a_description_3"
"value": some_alphanumeric_string
},
{
"id": "B",
"description": "b_description_3"
"value": some_alphanumeric_string
}
},
...
]
私の目標は、次の2つのテーブルをHTMLで出力することです。
-----------------------------------------------------
| A | B | C |
|-----------------------------------------------------|
|a_description_one|b_description_one|c_description_one|
|-----------------------------------------------------|
|a_description_two|b_description_two|c_description_two|
|-----------------------------------------------------|
|a_description_3 |b_description_3 |c_description_3 |
-----------------------------------------------------
そして2番目のテーブル:
----------------------------------------------------
| C value | C description | Count | Change |
|----------------------------------------------------|
|some string|it's description|times appeared| change |
----------------------------------------------------
最初のテーブルはかなり単純ですが、記述子の順序がわからなかったため、コード化するための適切な方法を見つけることができませんでした。そういうものとして、私は持っています:
<table>
<thead>
<tr>
<th>a</th>
...
</tr>
</thead>
<tbody>
<% for item in @items %>
<% for portion in item %>
<% if portion[0]["id"] == "A" %>
<% a = portion[0] %>
<% end %>
...
<% end %>
<tr>
<td><%= a["description"].to_s %></td>
...
</tr>
<% end %>
</tbody>
</table>
これはひどいようです。
2番目の表については、すべてのC値を調べ、同じC値を持つ複数の値がある場合はそれらを連結するだけです。また、サーバーから取得してとして持つことができる昨日のデータをロード@items_old
し、同じ値のアイテムの数を昨日のデータと比較したいと思います。これでどこに行けばいいのかわかりません。