我有“年”,“月”和“值”字段的记录。我想做的是创建一个12列的表格,与每个“月”相对应,在“年”行中显示“值”。看起来这是一个非常简单的表,但我似乎无法正确显示该视图。
我不会费心张贴已经提出的代码(因为)似乎没有什么比得到想要的东西更接近。我看来这可能是与“ group_by”相当普遍的事情,但是我还没有在线看到这种示例。
这是表格的详细信息:
create_table "returns", force: true do |t|
t.integer "year"
t.integer "month"
t.decimal "value"
end
这样做的最佳途径是什么?
这是一个示例,您可以如何做,这不是有效的方法,但是可以改进:
years = (2008..2015).to_a
months = (1..12).to_a
<table>
<tr>
<td>Januray</td>
## .. rest of <td>'s of the month name
</td>
years.each do |year|
<tr>
<td><%=year%></td>
months.each do |month|
<td><%= Return.where(year: year,month: month).first.try(:value) %></td>
end
</tr>
end
</table>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句