В моей модели семинара есть столбец с именем Teacher_id. Эта часть отношений работает. Я могу вызвать семинар. учитель, чтобы получить пользователя, который преподает этот семинар.
Я хотел бы иметь возможность инвертировать этот запрос. Другими словами, мне нужно вызвать «teacher.own_seminars», чтобы получить коллекцию всех семинаров, в которых этот пользователь указан как «teacher_id». Я знаю, что мог бы вызвать Seminar.where(:teacher => учитель), но это неуклюже. И я думаю, что производительность, вероятно, будет хуже.
Примечание. Некоторые пользователи являются студентами, которые связаны с семинаром через таблицу присоединения семинара_пользователя, но я не думаю, что это влияет на этот вопрос.
Это настройка модели, которая еще не совсем работает
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
Ваше здоровье!