Я хочу знать, существует ли элегантный способ объединения нескольких записей из разных моделей в один новый объект?
Дело в том, чтобы создать «поток» или «канал» контента приложения, как в Facebook.
Подробно, каждая запись имеет несколько и разные столбцы. Это модели и колонки:
Продукт [название, цена]
Пост [слоган, изображение]
Пользователь [имя, имя пользователя, profilepic]
Выбор [название, слоган]
Код, который я пробовал:
@new_object = @product = Product.find(n) + @post = Product.find(n) + @member = Member.find(n) + @selection = Selection.find(n)
Но это не работает из-за различий полей. Я думаю, что мы должны отобразить в хэш?
Вот как я буду использовать конечный объект:
@new_object.each do |stream|
stream.foo
stream.bar
end
Итак, цель: взять каждую запись и отобразить содержимое с помощью .each
Роскошь: есть возможность случайной сортировки результатов.
Большое спасибо!