EntryとTagというモデルがあって、Entryには複数のTagを付けることができ、あるTagが付いたEntryが複数あるとき。つまり、多対多の関係があるとします。このような場合データベース上は、entriesテーブルとtagsテーブルと、その関連を記録するtaggingsテーブルを用意しますね。taggingsテーブルに対応するtaggingモデルを用意します。 で、モデルを定義する時に、has_many :throughを使うと便利。 class Entry < ActiveRecord::Base has_many :taggings has_many :tags, :through=>:taggings end class Tag < ActiveRecord::Base has_many :taggings has_many :entries, :through=>:taggi