у меня есть много ко многим ассоциациям между двумя моделями в моем проекте, но я хочу указать тип связи между ними.
что-то вроде этого: у нас есть Учителя и Классы, у каждого Учителя много Классов и у каждого Класса много Учителей, мы можем создать отношение Преподавание, если хотим использовать Корыто.
например, учитель преподает математику в одном классе, а тот же учитель преподает физику в другом классе, есть ли способ сделать что-то подобное в activerecord, и если есть много способов сделать это, какой из них лучше всего? с участием?
изменить: я пробовал этот метод, и я не знаю, является ли это лучшей практикой:
Class Teacher < ActiveRecord::Base
has_many :classrooms, through: :teachings
end
Class Teaching < ActiveRecord::Base
belongs_to :teachers
belongs_to :classrooms
end
Class Classroom < ActiveRecord::Base
has_many :teachers, through: :teachings
end
моя идея заключается в том, чтобы вместо использования обучения: я буду использовать другие модели (например, математика, физика ...), которые наследуются от модели обучения, могу ли я добавить тип в ассоциацию обучения (используя STI в таблице ассоциаций)? и как я могу это реализовать? или я просто добавляю атрибут в Teaching и устанавливаю его вручную вместо использования STI? что лучше всего сделать?