将rails中的多维数组映射到数组



我有一个用户通过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

相关内容

  • 没有找到相关文章

最新更新