ふと思いついたActiveRecordの便利な使い方です。 たとえばuserとgroupがmembershipを介して多対多で、グループから所属ユーザをひく関連が欲しい場合、ActiveRecordを使うと次のように書きます。 class Group < AR::Base has_many :memberthips has_many :users, through: :memberhips end class Membership < AR::Base belongs_to :user belongs_to :group end class User < AR::Base end このとき、グループにはリーダーとなるユーザが一人いるという場合、membershipsにその関係を持たせることが一般的だと思います。 で、オプションをいい感じに指定すると、その特別なリレーションも設定できます。