has_many,throughとかでモデルやテーブルの構成を考えるとき,どうしてもカラム名と関連づけるテーブルの名前が一致しなかったり,望み通りの命名で行けない場合がある. もちろん,一つのテーブルが,他のテーブルのレコードを複数持つだけなら,命名はスマートに決められるのだけれど. 今回の例題は,Userモデルに対するフォロー・フォロワーを実現すること. Userは一つのテーブルでなければならないことはわかりますよね. ということは,UserテーブルがUserFollowという中間テーブルを介して,Userテーブルのレコードをhas_manyするという形をとる. もうガリガリと書いていきます. まず,こういう,元から名前の統一が難しそうな場合はテーブルを先に作ってしまう. Userテーブル id name 1 poteto 2 hoge UserFollowテーブル id user_id