Простой: сопоставление предметов.
@items = @orders.closed_today.all(:include => :items).map(&:items)
Это даст вам:
=> [[item1,item2],[item2,item3]]
Чтобы получить уникальные предметы:
@orders.closed_today.all(:include => :items).map(&:items).flatten.uniq
Это не устойчивый способ получения связанных объектов; Остерегайтесь проблем с производительностью N + 1.
В целом, вы, вероятно, должны сделать что-то вроде этого:
class Item
scope :closed_today, joins(:orders) & Order.closed_today
end
и просто позвоните:
Item.closed_today