Это дополнительный вопрос из этого.
Это моя текущая установка, чтобы сделать отношения учитель-ученик.
Модель пользователя
has_many :teacher_links, :foreign_key => :student_id, :dependent => :destroy, :class_name => "TeacherStudentLink"
has_many :student_links, :foreign_key => :teacher_id, :dependent => :destroy, :class_name => "TeacherStudentLink"
has_many :students, :through => :student_links
has_many :teachers, :through => :teacher_links
Модель связи учителя и учащегося
class TeacherStudentLink < ActiveRecord::Base
attr_accessible :user_id, :student_id, :teacher_id
belongs_to :user
belongs_to :student, :class_name => "User"
belongs_to :teacher, :class_name => "User"
end
Мне это кажется неудобным, потому что таблица student_student_links имеет три столбца: пользователь, ученик, учитель. У пользователя может быть много учителей, и у него также может быть много учеников. Если у меня нет столбца учителя, и я просто притворяюсь, что «пользователь» является «учителем», все работает отлично. Есть ли способ решить эту проблему?
user_id
и ассоциации:user
в моделиTeacherStudentLink
? - person Sam Peacey   schedule 22.01.2013teachers
иstudents
. - person Sam Peacey   schedule 22.01.2013