「ユーザー」、「ショップ」、「許可」に関連する結合モデル「UserPermission」があります。
Shop の ID に基づいて User モデルで呼び出されるスコープを使用して、Permission のすべてのインスタンスを熱心にロードできるようにしたいと考えています。
作成されるスコープは次のようになります。
User.for_shop(1)
これにより、ユーザーに対して 1 つのクエリが発行され、次に UserPermission に対して結合する Permission に対するフォローアップ クエリが発行されます。shop_id == 1