Railsでは、ActiveRecordのhas_manyかhas_and_belongs_to_manyを使うことで、DBの「多対多」のテーブル間の関連をモデルに簡単に実装することができます。 ※has_manyとhas_and_belongs_to_manyの違い 多対多関係を作るには、中間テーブルを作成する必要があります。 has_manyの場合、中間テーブルを表現するクラスを作らないといけないが、その中間テーブルに属性やバリデーションなどを追加できます。 has_and_belongs_to_manyの場合、中間テーブルのクラスを作らなくて良いが、中間テーブルにカスタマイズができません。 個人的には、そこまで手間ではないので、has_manyで拡張性をもたせた方がよいと思います。 動作確認 Rails 4.1 ActiveRecord 4.1 目次 多対多関連とは マイグレーション
![Rails4で多対多のリレーションをモデルに実装する - Rails Webook](https://cdn-ak-scissors.b.st-hatena.com/image/square/ff4a885ea5257d3c42e573abb733620c86805aab/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fn%2Fnipe880324%2F20140810%2F20140810044509.png)