class Group < ActiveRecord::Base acts_as_nested_set has_many :memberships has_many :users, :through => :memberships belongs_to :owner, :class_name => "User" end class Membership < ActiveRecord::Base belongs_to :group belongs_to :user end class User < ActiveRecord::Base has_many :memberships has_many :groups, :through => :memberships end