2017-02-22 52 views
1

У меня есть много-много связей между двумя моделями в моем проекте, но вы хотите указать тип связи между ними.тип отношения во многих отношениях:

что-то вроде этого: у нас есть Учителя и классы, у каждого Учителя есть много классных комнат, и в каждом классе есть много Учителей, мы можем создать отношение Учение, если мы хотим использовать Корыто.

для примера Учитель учит математике одному классу, и тот же Учитель учит физику другому классу, есть ли способ сделать что-то подобное в 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 

моя идея вместо использования Обучения: я буду использовать модели Отерли (например: Math, Physic ..), которые наследуются от Teaching Model , если я могу добавить тип в Ассоциацию обучения (используя STI в таблице ассоциации)? и как я могу его реализовать? или я просто добавляю атрибут для обучения и устанавливаю его вручную вместо использования STI? лучший способ сделать?

ответ

0

звучит так, как будто вы можете использовать другую таблицу под названием предметов. Это позволит сообщить отчет, который показывает, какой учитель (teacher_id) находится в классе (classroom_id), который изучает предмет.

+0

Я не очень хорошо понимаю ваши рекомендации –

 Смежные вопросы

  • Нет связанных вопросов^_^