导轨有很多,属于相同型号的两次之间
问题描述:
我想知道如何做某事如果有人知道我会很高兴听到。我有以下型号导轨有很多,属于相同型号的两次之间
User
Usertype
Course
我有两种类型的用户 - 学生和老师。 我想是有两个表
CourseTeacher - course_id, teacher_id
CourseStudent - course_id, student_id
我的用户模型usertype_id
列。所以我想知道如何在这种情况下使用has_many_and_belongs_to
,因为一切都取决于用户模型中的usertype_id
列。
答
我认为类的继承是模拟域逻辑清晰的方法:
class User < ActiveRecord::Base
end
class Student < User
end
class Teacher < User
end
则该表将有一个id
和type
列,极大地简化了你要完成的任务。阅读API文档,了解详情:Single Table Inheritance
答
如果你没有重构能力,你可以尝试使用这种方法:
,而不是2个表创建一个:
class CoursesUsers
belongs_to :course
belongs_to :user
end
而在用户模型中决定自己的逻辑(对我来说,看起来像多态)