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