Возьмите последние 5 для всех моделей, затем поместите все записи в массив, отсортируйте массив и возьмите первые 5 элементов.
# consider moving .order('date desc').limit(5) to a named scope or a module
announcements = Announcement.order('date desc').limit(5)
posts = Post.order('date desc').limit(5)
monkeys = Monkey.order('date desc').limit(5)
# .. add others here
elements = (announcements + posts + monkeys).sort_by(&:date).reverse[1..5]
Переменная elements
будет иметь 5, еслиони существуют.
Примечание: я предполагаю, что у всех ваших моделей есть метод с именем "date".Вы можете изменить его на date_created или любой другой.
Вы можете разместить этот код в нескольких местах, но я думаю, что лучшим будет «домашний» контроллер, созданный специально для рендеринга домашней страницы.Элементы будут рассчитаны на его действие шоу.