我找到了一种在系统中对User不同类型进行建模的好方法。对于注册,他/她可以选择成为学生,导师或两者。作为学生或导师有不同的属性。学生和导师也将有不同的个人资料模板布局。
您如何针对此类问题设计控制器和模型?
答案 0 :(得分:3)
我会创建一个User
,它可以包含Mentor
类和/或Student
类。这样,您的不同属性将彼此分离,而相同的属性仍保留在User
类中
在Controller中,您可以渲染模板(或部分),具体取决于用户持有的实例。一个是学生,一个是导师,一个是两个。
您还可以使用继承(User
作为父级Mentor
,Student
和Both
作为子级)。您想在此处查看的关键词是Single Table Inheritance
。
Imho问题是两种选择。这就是为什么我更喜欢第一种解决方案。