В приложении Rails у меня есть две модели, которые связаны через ассоциации has_many
и belongs_to
:
class Entity < ActiveRecord::Base
has_many :applicants
end
class Applicant < ActiveRecord::Base
belongs_to :entity
end
Я использую SearchKick, чтобы сначала выбрать несколько Entities — подробности этого не имеют большого значения, но учитывая существующую коллекцию объектов Entity, как я могу получить все связанные объекты Applicant ?
# select some entities (in my app I'm using SearchKick to run the search)
entities = Entity.search params[:query]
# now find the applicants related to the selected entities
applicants = entities.???
Это работает, но очень медленно, учитывая большой выбор:
# retrieve the applicants related to the selected entities
applicants = []
entities.each do |entity|
applicants += entity.applicants
end
Есть ли сокращение Rails для получения заявок, связанных с выбранными сущностями?
Другие вещи, которые я пробовал:
entities.class => Entity::ActiveRecord_Relation
entities.applicants => #error
entities.applicant_ids => #error