Has_many, através da associação

Aviso: Total Rails Newb (TRN). Essa deve ser uma pergunta bem básica, então espero que alguém possa poupar alguns minutos para ajudar a esclarecer algumas coisa

Digamos que tenho os seguintes modelos: Usuário, Grupo e Membro Um usuário pode ter muitos grupos (digamos amigos, família, etc.) Um grupo pode ter muitos membros, ou seja, outros usuário

Como eu estruturaria isso?

Inicialmente eu tentei isso:

class User < ActiveRecord::Base
  has_many :groups
  has_many :groups, :through => :members
end

class Groups < ActiveRecord::Base
  has_many :users, :through => :members
  belongs_to :user
end

class Member < ActiveRecord::Base
  belongs_to :group
  belongs_to :user
end

No entanto, isso me deu um erro no Usuário, então mudei

has_many :groups, :through => :members

par

has_many :memberships, :through => :members, :source => :groups

Ainda obtendo um erro sobre falta de associação quando tento fazer

group = Group.new
group.user.new

questionAnswers(3)

yourAnswerToTheQuestion