这是一个后续问题。
这是我目前建立师生关系的设置。
用户模型
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
这对我来说似乎很尴尬,因为teacher_student_links 表有三列:用户、学生、教师。用户可以有很多老师,也可以有很多学生。如果我没有教师栏,只是假装“用户”是“教师”,那么一切都会完美。有没有办法解决这个问题?