У меня есть приложение, которое имеет некоторые основные объектыКак сделать ORM (ActiveRecord) Модели для профсоюзных запросов в Rails
сообщений сообщений имеют:
- Нравится
- Комментарии
- и Рейтинги
У меня тогда есть запрос SQL для запроса для всех трех. При этом у меня есть модель, называемая PostActivityView. Столб имеет вид деятельности, так что я могу назвать
@post.activity_view
, который возвращает набор соответствующих значений (от лайков, комментариев и рейтингов). Все это работает правильно.
Моя проблема заключается в том, что это возвращает коллекцию хэшмапов, а не комментариев, отзывов и рейтингов. Это имеет смысл, потому что мой взгляд создает новый результат «с PostEvents as (...)». Мой вопрос: есть ли способ обобщить эти результаты и представить их с помощью объекта ActiveRecord?
Нравится, комментарии и рейтинги имеют разные атрибуты, поэтому я делаю некоторое сглаживание в представлении (комментарий имеет комментарий.body для текста и рейтинги могут иметь rating.comments для текста, поэтому при необходимости я переименовываю что-то вроде review.comments to. тела). Таким образом, мои результаты имеют одинаковые атрибуты. Похоже, я должен иметь возможность создавать объект ActiveRecord, такой как PostEvent, который имеет только псевдонимы. Это возможно?