Модели / host.rb
class Host < ActiveRecord::Base
has_many :report, :dependent => :delete_all
end
Модели / report.rb
class Report < ActiveRecord::Base
belongs_to :host
end
Теперь я хочу выбрать все хосты с их отчетами, включая хосты, которые не получили никакого отчета.
Я пытался добиться этого с помощью
list=Host.all(:joins => "left join `reports` on reports.host_id=host.id")
но похоже, что Rails только выбирает поля из таблицы hosts
. Поэтому я не могу получить доступ к объекту отчета с list[0].report
.
Кроме того, я был бы намного счастлив сделать выбор без использования сырых команд SQL - в более рубиновой манере.
Как получить и узел, и отчет за один выбор и без использования SQL?