渴望加载深层嵌套关联

时间:2015-05-05 14:44:07

标签: ruby-on-rails-4 activerecord model

我的模型有嵌套关联。我想从一个查询中加载所有嵌套记录。

hotel has_many rooms

rooms has_many room_variants

room_variant has_many seasonal_rates

我搜索酒店名称的酒店,并希望加载嵌套的模型数据。

对于一个级别的嵌套,我们可以Hotel.search('test').includes(:rooms)。我没有找到加载深层嵌套关联模型条目的方法。

1 个答案:

答案 0 :(得分:27)

你可以这样做:

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

请参阅RailsGuides中Eager Loading Associations的“嵌套关联哈希”部分。