我有一个 AR 查询,它每月返回一个事件哈希,按月排序
o.events.group("to_char(date,'MM')").order("to_char(date,'MM')").size()
我在此查询中使用数字月份,因为这是我能找到以正确顺序获取事物的最佳方式,而且我还需要对哈希进行一些其他操作。
在显示结果之前,我需要将数字月份转换回单词。我在查询末尾添加了以下内容
.each_key{ |key| Date::MONTHNAMES[key] }
但我明白了
TypeError: can't convert String into Integer.
所以我尝试了
.each_key{ |key| Date::MONTHNAMES[key.to_i] }
但是月份仍然是数字形式
{"01"=>4, "02"=>3.....
我怎样才能操纵这个哈希来获得
{"January"=>4, "February"=>3.....