2016-03-18 4 views
1

Я хочу создать визуальный график всех событий компании. HTML для временной шкалы построен с использованием loop.Объединение двух разных коллекций ActiveRecord в один

Для простоты предположим две модели Hire & Deal. Обе модели имеют атрибут date и некоторые специфические для модели атрибуты. Как объединить результаты ActiveRecord обеих моделей, а затем order объединенный хэш на date, в один хеш, который я могу пропустить?

ответ

3

Ну, если предположить, что результат запроса как Hire и Deal модели представляет собой массив объектов (коллекция), то вы просто использовать + чтобы объединить их в новый массив и отсортировать элементы по date с sort_by:

combined = (Hire.all + Deal.all).sort_by(&:date) 

или использовать concat конкатенировать одну коллекцию с другой:

combined = Hire.all.concat(Deal.all).sort_by(&:date) 
+0

благодарит за анс WER. Проблема заключается в том, что мне все равно придется сортировать комбинированный хэш по дате, чтобы timelie правильно отображался. Любые предложения, как достичь этого? – Matthias

+1

Большое спасибо за это – Matthias

+0

Один короткий вопрос, если вам это нравится: есть ли у вас предложение о том, как отличить записи от модели? – Matthias

Смежные вопросы