你應該能夠建立一個分配模型,並使用它,就像任何其他的許多一對多的關係:
class User < ActiveRecord::Base
has_many :student_teacher_assignments, :class_name => "StudentTeacherAssignment", :foreign_key => "student_id"
has_many :teachers, :through => :student_teacher_assignments
has_many :teacher_student_assignments, :class_name => "StudentTeacherAssignment", :foreign_key => "teacher_id"
has_many :students, :through => :teacher_student_assignments
end
class StudentTeacherAssignment < ActiveRecord::Base
belongs_to :student, :class_name => "User"
belongs_to :teacher, :class_name => "User"
end
我想改變分配的名稱是少一點相似,更有意義,但概念應該保持不變
這不是一個壞主意,你會遵循多對多的標準東西,但使用相同的類而不是一個不同的類。有一個名爲class_name或:class的關係修飾符。 – 2010-06-23 02:05:15