我如何按年分组?

Kib*_*gon 3 ruby model views ruby-on-rails

我有一个书籍模型,其日期类型列名为publish_date.根据我的观点,我正在翻阅书籍,我想按年份对书籍进行分组,这样我每年都会有一个标题,而那一年出版的书籍将列在年度标题下面.

因此,从2010年开始,将列出2010年出版的所有书籍,然后列出2009年出版的所有书籍的另一个标题"2009",等等.

<% @all_books.each do |book| %>
   <%=link_to book.title + ", (PDF, " + get_file_size(book.size) + ")" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

通过book.publish_date.strftime("%Y"),我能够得到年份,但我不知道如何按年份对条目进行分组.任何有关这方面的帮助将不胜感激.

jhw*_*ist 6

您可以使用group_by(参见API)(我的头脑中)

<% @all_books.group_by(&:year).each do |year, book| %>

   ...
<% end %>
Run Code Online (Sandbox Code Playgroud)