我目前对我的事件进行排序;
@events_by_month = @events.group_by { |x| x.date.month }
这依赖于所有事件都发生在同一年的事实,但我现在也想显示明年的事件。 我希望输出的格式与上述输出的格式相同,但按年份排序,即 这就是我所拥有的;
{3=>[#<Event id: 7032, date: "2014-03-02 00:00:00">, #<Event id: 7033, date: "2015-03-02 00:00:00">]}
这就是我想要的;
{3=>[#<Event id: 7032, date: "2014-03-02 00:00:00">]},{3=> [#<Event id: 7033, date: "2015-03-02 00:00:00">]}
最佳答案
据我了解,您希望按月和年对事件进行分组。
然后使用
@events_by_month = @events.group_by { |x| [x.date.month, x.date.year] }
您将收到
{[3, 2014]=>[#<Event id: 7032, date: "2014-03-02 00:00:00">]},{[3,2015]=> [#<Event id: 7033, date: "2015-03-02 00:00:00">]}
它比示例中的重复键更正确。
关于ruby-on-rails - 按年份和月份对 Rails 中的 ruby 数组进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22132198/