Вы можете использовать включения, используя указанный ниже запрос:
@users = User.where(id: 1).includes(:orders)
, затем итерируйте по @users и извлекайте соответствующих данных о пользователе и заказе.
Кроме того, вы можете использовать отложенную загрузку какхорошо используя следующий запрос:
@users = User.where(id: 3).joins(:orders => [:order_data]).select("orders.*, users.first_name")
В этом вы будете получать все данные в одном запросе без рельсов, кеширующих объекты БД в памяти, как в случае с include.