Has_many, a través de la asociación

Advertencia: Total Rails Newb (TRN). Esta debería ser una pregunta bastante básica, así que espero que alguien pueda dedicar un par de minutos para ayudar a arrojar algo de luz.

Digamos que tengo los siguientes modelos: Usuario, Grupo y Miembro Un usuario puede tener muchos grupos (digamos amigos, familiares, etc.) Un grupo puede tener muchos miembros, es decir, otros usuarios.

¿Cómo estructuraría esto?

Inicialmente probé esto:

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

Sin embargo, esto me dio un error en el usuario, así que cambié

has_many :groups, :through => :members

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

Todavía obtengo un error sobre la asociación faltante cuando intento hacer

group = Group.new
group.user.new

Respuestas a la pregunta(3)

Su respuesta a la pregunta