여러 가지 휴일이 있습니다.
Holiday.all
Holiday Load (0.7ms) SELECT "holidays".* FROM "holidays"
=> #<ActiveRecord::Relation [#<Holiday id: 1, name: "Dia da Confraternização Universal", holidayable_id: 1, holidayable_type: "Country", date: "2014-01-01", created_at: "2014-11-05 21:38:13", updated_at: "2014-11-05 21:38:13", verified?: false>, #<Holiday id: 2, name: "Natal", holidayable_id: 1, holidayable_type: "Country", date: "2014-12-25", created_at: "2014-11-05 22:02:33", updated_at: "2014-11-05 22:02:33", verified?: false>]>
이 큰 날짜 배열을 날짜 월로 나누고 싶으므로 12 개의 배열 (매월 한 개)로 끝납니다.
사용하고 싶은 것은 Enumerable#group_by
방법입니다.
블록의 결과를 기준으로 컬렉션을 그룹화합니다. 키가 블록에서 평가 된 결과이고 값이 키에 해당하는 컬렉션의 요소 배열 인 해시를 반환합니다.
블록이 제공되지 않으면 열거자가 반환됩니다.
(1..6).group_by { |i| i%3 } #=> {0=>[3, 6], 1=>[1, 4], 2=>[2, 5]}
예를 들어
["12/25", "01/01", (...)].group_by { |date| date.split("/").first }
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다