按年份分组的出版物的逆序

时间:2014-08-21 12:17:57

标签: ruby-on-rails rails-activerecord

为了在我的Rails应用程序中存档这些出版物,我按年份对这些出版物进行分组:

app/controllers/publications_controller.rb
...
def series
  @publications = Publication.all
  @publications_year = @publications.group_by { |p| p.year}
end

然后在视图中,我希望每个出版年都有一个链接:

      <% @publications_year.sort.each do |year, pubs| %>
        <li><i class="fa fa-folder left"></i><%= link_to year, archive_path(year) %></a>
      </li>
      <% end %>

这很好用,结果是:

2012
2013
2014

但是,我需要撤消订单,因此链接应按如下顺序排列:

2014
2013
2012
...

但我无法弄清楚如何使用

有谁知道如何扭转年度链接的顺序?

感谢您的帮助,

安东尼

2 个答案:

答案 0 :(得分:3)

您也可以让db执行排序。

@publications_year = @publications.order('year DESC').group_by { |p| p.year }

如果您这样做,则无需再调用sort

答案 1 :(得分:0)

您是否尝试使用reverse方法?

@publications_year.sort.reverse.each 

来源:http://apidock.com/ruby/Array/reverse