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