Je veux construire quelque chose pour qu'une personne puisse avoir beaucoup d'adresses e-mail et une adresse e-mail ne compte qu'une seule personne, mais parce que j'ai aussi un autre modèle appelé Entreprise qui peut aussi avoir beaucoup d'adresses email, et je ne veux pas avoir des colonnes company_id et person_id dans le tableau des e-mails, donc je pensais que je peux faire ...has_one: à travers un modèle de jointure
person.rb
has_many: person_emails has_many: e-mails,: à travers =>: person_emails
person_emails.rb
belongs_to: personne belongs_to: email
email.rb
has_one: person_email has_one: personne,: par =>: person_email
Ce qui se passe maintenant est que ...
p = person.first # => "Nik" p.emails # => affiche tous les e-mails que Nik a p.person_emails # => affiche tous les enregistrements de tables conjointes person_email pour Nik
e = Email.first # => l'une des adresses e-mail de Nik e.person_email # => affiche le seul et unique enregistrement de la table conjointe de ce courriel e.person # échoue en indiquant la colonne inconnue "people.email_id" dans clause where
Je voudrais ... e.person # => "Nik"
est-ce que quelqu'un a une idée de ce que le problème pourrait être?
Merci Vous