Mon modèle de séminaire comporte une colonne nommée ID_enseignant. Cette partie de la relation fonctionne. Je peux appeler seminar.teacher pour récupérer l'utilisateur qui enseigne ce séminaire.Obtenir l'association du nom personnalisé
J'aimerais pouvoir inverser cette requête. En d'autres termes, je dois appeler teacher.own_seminars pour obtenir une collection de tous les séminaires où cet utilisateur est listé comme teacher_id. Je sais que je pourrais appeler Seminar.where (: enseignant => enseignant), mais c'est maladroit. Et je pense que la performance est probablement pire de cette façon.
Remarque: Certains des utilisateurs sont des étudiants qui sont liés à Seminar via la table de jointure seminar_user, mais je ne pense pas que cela affecte cette question.
Ceci est la configuration du modèle qui ne fonctionne pas encore tout à fait
class User < ApplicationRecord
has_many :own_seminars, :class_name => "Seminar", foreign_key: 'own_seminar_ids'
end
class Seminar < ApplicationRecord
belongs_to :teacher, class_name: "User", foreign_key: 'teacher_id'
end
Cheers!