我正在尝试使用Backbone.js构建一个简单的学生列表应用程序,这将允许用户查看:
因此,我创建了以下四个REST端点来获取这些数据:
/students
/courses
/courses/{courseId}/students
/students/{studentId}/courses
所以,在这里,学生和课程之间存在双向关系,因为学生可以参加多门课程,并且可以在特定课程中注册多个学生。
我试图弄清楚我需要创建的不同主干模型和集合。我创建了以下模型和集合:
var Student = Backbone.model.extend({
});
var Students = Backbone.Collection.extend({
model: Student,
url: '/students'
});
var Course = Backbone.Model.extend({
});
var Courses = Backbone.Collection.extend({
model: Course,
url: '/courses'
});
这些可用于获取所有学生和所有课程,但其他两个端点的模型/馆藏应该是什么?
为了获取课程的所有学生,我需要将Students
集合添加到Course
模型并为学生提取所有课程,我需要添加Courses
集合到Student
模型,这不是一个好的设计。我应该为此设置单独的集合StudentCourses
和CourseStudents
吗?