我正在开始我的第一个 Rails 应用程序,我只想确保我的关联能够像我希望的那样工作。以下是我的应用程序中模型的概述:
class School < ActiveRecord::Base
has_many :courses
has_many :teachers, :through => :courses
has_many :students, :through => :courses
end
class Course < ActiveRecord::Base
belongs_to :school
belongs_to :teacher
has_and_belongs_to_many :students
end
class Teacher < ActiveRecord::Base
has_many :courses
has_many :students, :through => :courses
end
class Student < ActiveRecord::Base
has_and_belongs_to_many :courses
has_many :teachers, :through => :courses
end
到目前为止,我注意到的一件事是,如果我尝试让学校的老师或学生,它将多次返回相同的记录。我知道我可以只调用 uniq 但我宁愿不必这样做。所以我想知道是否有更好的方法可以做到这一点。