Создание архива записей в блоге из списка записей в Ruby

#ruby-on-rails #ruby

#ruby-on-rails #ruby

Вопрос:

Я создаю блог, используя Ruby on Rails для своего сайта. Мне очень нравится, как на некоторых платформах для ведения блогов есть архив всех сообщений в блоге, как показано здесь

введите описание изображения здесь

Я пытаюсь написать код для генерации этого в Ruby. У меня есть приблизительная идея, как видно из моего кода

 <h6>Archive</h6>
<%
    @posts.each do |post|
        #Add dropdown for post year if first entry into year
        #Add dropdown for post month if first entry into month
        #Add post to dropdown of month under dropdown of year
    end
%>
  

Однако мне трудно перевести это в код ERB, поскольку я все еще новичок в Ruby. Может кто-нибудь привести мне пример того, как это делается? Спасибо!

РЕДАКТИРОВАТЬ: список @posts сортируется от самых новых к самым старым

Ответ №1:

Вы можете использовать метод group_by в Ruby. Это позволит вам помещать их в корзины, используя поле created_at.

Редактировать: это приведение rails объясняет это очень хорошо: http://railscasts.com/episodes/29-group-by-month?view=asciicast