この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2015 の投稿記事です。 こんにちは、クリスマスの予定を聞かれてもnilを返すk−shogoです。今回はいつか役に立つかもしれないちょっとニッチなRailsの技を紹介します。 has_manyを拡張する Railsのhas_manyは自動的にリレーションを構築してくれて便利ですね。実はこのhas_manyのリレーションは拡張することが出来るのです。 さっそくサンプルを作成します。今回はUser,Group,UserGroupingの3つのモデルが存在し、UserとGroupはUserGroupingを介して多対多の関係を持つことにします。さらにUserGroupingには役割を示すroleカラムも持たせます。マイグレーションで示すと以下のようになります。 class CreateUserGr