2015-05-05 7 views
8

У меня есть модели с вложенными ассоциациями. Я хочу загрузить все вложенные записи только из одного запроса.Яркая загрузка в глубокой вложенной ассоциации

hotel has_many rooms

rooms has_many room_variants

room_variant has_many seasonal_rates

Я искать отель с названием отеля, и вы хотите, чтобы загрузить данные вложенные модели.

Для наложения одного уровня мы можем сделать Hotel.search('test').includes(:rooms). Я не нахожу способ загружать записи модели вложенной ассоциации глубокого уровня.

ответ

19

Вы можете сделать:

Hotel.search('test').includes(rooms: { room_variants: :seasonal_rates }) 

Смотрите раздел "Вложенные Ассоциация Hash" из Eager Loading Associations в RailsGuides.

+0

Я не могу отметить это как ответ, хотя это и есть, но +1. благодаря – gwnp

Смежные вопросы