У меня есть две разные модели, которые мне нужно объединить в запросе выбора и списке на странице. Они делятся всеми атрибутами, которые мне нужны для ссылки в представлении (created_at, updated_at, name и т. Д.), И я хочу их в порядке создания. Мне интересно, что самый эффективный способ сделать это? Я думал о выполнении запроса выбора по каждому объекту индивидуально и добавлению соответствующих частей в общий массив, но это кажется неэффективным.Лучший способ присоединиться к двум различным запросам модели в Rails?
Например, если мои модели были собаки и кошки, и я хотел список всех собак и кошек в возрасте 5, я думал что-то вроде
@pets = []
dogs = Dogs.where(:age => 5)
cats = Cats.where(:age => 5)
dogs.each do |dog|
hash = {"id" => dog.id, "name" => dog.name, "created_at" => dog.created_at }
@pets.push(hash)
end
cats.each do |cat|
hash = {"id" => cat.id, "name" => cat.name, "created_at" => cat.created_at }
@pets.push(hash)
end
Но является то, что лучший способ сделать это? Кроме того, я не уверен, как сортировать готовый массив в этом примере по дате создания ...
первое решение отличное, спасибо! – user1436111