👶

Rails の ActiveRecord で 孫モデルやひ孫モデルに join や include する方法(深いネストのincludes)

2020/12/08に公開

関係図

AAAs
┣BBBs
┃ ┣CCCs
┃ ┃ ┗FFFs
┃ ┗DDDs
┗GGGs

やり方

AAAs.includes(:BBBs) # 子
AAAs.includes(BBBs: :CCCs) # 孫
AAAs.includes(:GGGs, BBBs: [:CCCs, :DDDs]) # 子と孫たち
AAAs.joins(BBBs: [{CCCs: :FFFs}, :DDDs]) # ひ孫もあるとこう

参考

Discussion