我有一个用户通过cellared_beers
在他们的酒窖中拥有的啤酒列表,以便用户有多个beers
到cellared_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
答案 0 :(得分:0)
你的意思是在一个字符串中,像这样?
{[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