Rails 应用程序使用 Devise 进行用户身份验证。开始很简单,现在变得相当复杂。
有 3 种用户将登录到该站点:管理员、教师、家长。我有一个单独的设计User
模型和User.role
字符串。有一个Student
模型(不登录)和一个Lesson
模型。
这些是我需要的关系:
- 课程属于一名学生
- 学生有很多课
- 学生有很多老师
- 学生属于一位家长
- 家长有很多学生
- 老师有很多学生
网站的基本功能:教师登录并为学生上课。家长登录并查看他们孩子(学生)的所有课程。管理员登录并可以 CRUD 教师、家长和学生。
我的大部分工作都在工作,但是当我尝试实施“学生有很多老师”和“家长有很多学生”时,我被难住了。我最初的(不正确的)假设是学生只有一位老师,而父母在学校只有一个孩子。
因此,对于这些关系,使用字符串似乎是User.role
不够的。
任何建议或一般概念将不胜感激。