我有一个用户通过cellared_beers
在其酒窖中拥有的啤酒列表,因此用户通过cellared_beers
拥有许多beers
,反之亦然。每个cellared_beer
都附加了年份和大小等额外数据。
我想在页面上显示一个用户的cellared_beers的统计结果。现在我有下面的代码来获取计数:
beer_groups = @user.cellared_beers.count(:group => [:beer_id,:year,:size])
=> {[1, 2008, "12oz"]=>1, [1, 2009, "12oz"]=>3, [1, 2010, "12oz"]=>1}
我如何映射它,以便我可以显示基于beer_id、年份、大小和数量的啤酒属性?
类似:
Foo Beer(beer.name), Bar Brewery(beer.brewery.name),2008,12oz,1
Foo Beer(beer.name), Bar Brewery(beer.brewery.name),2009,12oz,3
Foo Beer(beer.name), Bar Brewery(beer.brewery.name),2010,12oz,1
你是说像这样的字符串吗?
{[1, 2008, "12oz"]=>1, [1, 2009, "12oz"]=>3, [1, 2010, "12oz"]=>1}.each.map do |values,count|
beer = Beer.find(values[0])
"#{beer.name}, #{beer.brewery.name},#{values[1]},#{values[2]}, #{count}"
end