1

我有一个用户在他们的地窖里喝过的啤酒的清单,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
4

1 回答 1

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
于 2013-05-08T19:43:18.440 回答