将哈希值更改为数组

Dav*_*son 2 ruby arrays hash ruby-on-rails

我有一个Rails 4应用程序,收集参加教堂服务.有些星期有两种服务,有些星期只有一种.我需要获得每周的总出勤率并将其显示为图表.

致电:

Stat.calculate(:sum, :attendance, group: :date)
Run Code Online (Sandbox Code Playgroud)

在控制台中,我已经能够以这样的方式收集数据:

{Sun,2013年1月6日=> 66,Sun,2013年1月13日=> 65,Sun,2013年1月20日=> 60,Sun,2013年1月27日=> 67,Sun,2013年2月3日=> 60,Sun,2月10日2013 => 76,太阳,2013年2月17日=> 65,太阳,2013年2月24日=> 52,太阳,2013年3月3日=> 52,太阳,2013年3月10日=> 45,太阳,2013年3月17日=> 56,太阳,2013年3月24日=> 134,太阳,2013年3月31日=> 76,太阳,2013年4月7日=> 88,太阳,2013年4月14日=> 87,太阳,2013年4月28日=> 93,太阳,2013年5月5日=> 93,Sun,2013年5月12日=> 95,Sun,2013年5月19日=> 90,Sun,2013年5月26日=> 87,Sun,2013年6月2日=> 71,Sun,2013年6月9日=> 86,Sun ,2013年6月16日=> 109,太阳,2013年6月23日=> 80,太阳,2013年6月30日=> 68,太阳,2013年7月7日=> 75,太阳,2013年7月14日=> 73}

但我的图表需要的是一系列哈希形式:

{日期:"太阳,2013年6月23日",出席率:80},{日期:"太阳,2013年6月30日",出席率:68"}

所以我想弄清楚如何将第一种形式转换为第二种形式.

我确信它的东西非常简单,但我的有限的铁轨知识正在撞墙.

Sha*_*cci 5

.collect{|key,value| {:date => key, :attendance => value} }
Run Code Online (Sandbox Code Playgroud)

循环并创建一个新的哈希,其中原始键成为日期的值,原始值成为出勤值.这些新哈希被收集到一个数组中.