2015-05-05 14 views
8

Ho modelli con associazioni nidificate. Voglio caricare tutti i record nidificati da una sola query.Eager caricamento nell'associazione nidificata di livello profondo

hotel has_many rooms

rooms has_many room_variants

room_variant has_many seasonal_rates

cerco albergo con nome dell'hotel, e si desidera caricare i dati del modello nidificate.

Per l'annidamento di un livello, è possibile eseguire Hotel.search('test').includes(:rooms). Non sto trovando un modo per caricare voci del modello di associazione nidificate a livello profondo.

risposta

19

si può fare:

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

vedere la sezione "Nested Associazione Hash" del Eager Loading Associations nelle RailsGuides.

+0

Non posso contrassegnarlo come risposta anche se lo è, ma +1. Grazie – gwnp

Problemi correlati