我要做的是在表格中显示Postgres的数据。 数据以JSON格式存储在Postgres中,db看起来或多或少像:
| id | data | created_at | updated_at |
|----|----------------------|------------|------------|
| 1 | [{"some_data": 90... | 2014-12-02 | 2014-12-02 |
| 2 | [{"some_data": 16... | 2014-12-03 | 2014-12-03 |
| 3 | [{"some_data": 38... | 2014-12-04 | 2014-12-04 |
对于快速黑客,我将data
列加载到@data
,如:
def index
@data = Hack.pluck(:data).last
end
然后在视图中我会这样做:
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<% @data.each do |d|%>
<tr>
<th><%= d["some_data"][0] %></th>
<th><%= d["some_data"][1]["name"]</th>
</tr>
<% end %>
</tbody>
</table>
问题是我最终得到了巨大的变量&#34; (d["some_data"][1]["name"]
),如果我想做一些计算,我知道它不应该在视图中处理。
RoR中最好的成就是什么? 我想我会有类似的东西:
<table>
<thead>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
</thead>
<tbody>
<% @data.each do |d|%>
<tr>
<th><%= d.id %></th>
<th><%= d.name %></th>
</tr>
<% end %>
</tbody>
</table>