如何在Rails中处理多个用户类型?

时间:2011-04-09 11:16:18

标签: ruby-on-rails authentication modeling

我找到了一种在系统中对User不同类型进行建模的好方法。对于注册,他/她可以选择成为学生,导师或两者。作为学生或导师有不同的属性。学生和导师也将有不同的个人资料模板布局。

您如何针对此类问题设计控制器和模型?

1 个答案:

答案 0 :(得分:3)

  1. 我会创建一个User,它可以包含Mentor类和/或Student类。这样,您的不同属性将彼此分离,而相同的属性仍保留在User类中 在Controller中,您可以渲染模板(或部分),具体取决于用户持有的实例。一个是学生,一个是导师,一个是两个。

  2. 您还可以使用继承(User作为父级MentorStudentBoth作为子级)。您想在此处查看的关键词是Single Table Inheritance

  3. Imho问题是两种选择。这就是为什么我更喜欢第一种解决方案。