Rails: поиск всех связанных объектов с родительским объектом - PullRequest
2 голосов
/ 18 сентября 2010

Я создал сложный объект в рельсах с основным родительским объектом «Resume», в котором есть несколько дочерних объектов для каждого раздела («target_section», «contact_section» и т. Д.), Есть ли способ получить все связанные объекты к родительскому объекту Resume?

Ответы [ 2 ]

1 голос
/ 18 сентября 2010

Если под выборкой вы подразумеваете загрузку из базы данных в одном запросе, то обязательно:

Resume.first(:include => [:objective_sections, :contact_sections]) # etc...

Если это обычный шаблон, и вы хотите СУШИТЬ вещи без особых усилий, вы можете бросить этов named_scope в вашей модели:

class Resume < ActiveRecord::Base
  has_many :objective_sections
  has_many :contact_sections

  named_scope :with_sections, :include => [:objective_sections, :contact_sections]
end
0 голосов
/ 18 сентября 2010

Если ваша модель выглядит так:

class Resume < ActiveRecord::Base
  has_many :sections
end

Тогда вы получите все разделы для экземпляра Резюме с этим:

@resume = Resume.find(x)
sections = @resume.sections
...