Ruby on rails 按月份分组的Ruby数组
我有一个数组Ruby on rails 按月份分组的Ruby数组,ruby-on-rails,group-by,Ruby On Rails,Group By,我有一个数组 @array=[{:start_date=>“13/10/2020”,:amount=>32130,:hours=>18,:field=>“blabla”,:user_id=>123456}, {:开始日期=>“06/10/2020”,:金额=>12355,:小时=>18,:字段=>“blabla”,:用户id=>3211}, {:start_date=>“02/09/2020”,:amount=>55222,:hours=>18,:field=>“blabla”,:user_id
@array=[{:start_date=>“13/10/2020”,:amount=>32130,:hours=>18,:field=>“blabla”,:user_id=>123456},
{:开始日期=>“06/10/2020”,:金额=>12355,:小时=>18,:字段=>“blabla”,:用户id=>3211},
{:start_date=>“02/09/2020”,:amount=>55222,:hours=>18,:field=>“blabla”,:user_id=>24457},
{:start_date=>“14/08/2020”,:amount=>22565,:hours=>18,:field=>“blabla”,:user_id=>24457},
{:开始日期=>2020年8月13日,:金额=>454454,:小时=>18,:字段=>blabla,:用户id=>24457},}]
我希望按月份(开始日期)对_进行分组,以获得如下内容:
10月:
9月:
八月
我试过:
@array.group_by{t|(t[:开始日期].to_日期).strftime(“%B%Y”)}
但它不起作用(数组不是分组依据)
我如何制作这个分组plz?
谢谢
13/10/2020 amount=>32130, hours=>18, field=>"blabla", user_id=>123456}
06/10/2020", :amount=>12355, :hours=>18, :field=>"blabla", :user_id=>3211
02/09/2020", :amount=>55222, :hours=>18, :field=>"blabla", :user_id=>24457
14/08/2020", :amount=>22565, :hours=>18, :field=>"blabla", :user_id=>24457
13/08/2020", :amount=>454454, :hours=>18, :field=>"blabla", :user_id=>24457
pry(main)> @array.group_by { |t| Date.strptime(t[:start_date], '%d/%m/%Y').strftime('%B') }
=> {"October"=>
[{:start_date=>"13/10/2020", :amount=>32130, :hours=>18, :field=>"blabla", :user_id=>123456},
{:start_date=>"06/10/2020", :amount=>12355, :hours=>18, :field=>"blabla", :user_id=>3211}],
"September"=>[{:start_date=>"02/09/2020", :amount=>55222, :hours=>18, :field=>"blabla", :user_id=>24457}],
"August"=>
[{:start_date=>"14/08/2020", :amount=>22565, :hours=>18, :field=>"blabla", :user_id=>24457},
{:start_date=>"13/08/2020", :amount=>454454, :hours=>18, :field=>"blabla", :user_id=>24457}]}