Я хочу удалить значение данных group_by
, потому что объект @deals
Мне нужно упорядочить данные по дате.
Но проблема в том, что я использовал итерацию @period
, и значение в @deals
будет вычислено еще раз. Это неэффективно, и я попытался использовать метод map
для нарезки данных следующим образом:
@period = Date.new(2019,3,1)..Date.new(2019,3,31)
@deals = Deal.where(created_at: @period).includes(:staff).group_by{|t| t.staff}
@period.each do |date|
@deals.map do |staff, deals|
puts "staff:#{staff.name}"
puts deals.count
selected_deals = deals.select{|t| Date.parse(t.created_at) == date}
puts selected_deals.select{|t| t.deal_product=="item1"}.count
puts selected_deals.select{|t| t.deal_product=="item2"}.count
puts selected_deals.select{|t| t.deal_product=="item3"}.count
puts selected_deals.select{|t| t.deal_product=="item4"}.count
deals-selected_deals
end
end
но видно, что не удаляются выбранные мной данные.
Можно делать то, что я хочу?