【问题标题】:How to handle multiple user types in Rails?如何在 Rails 中处理多种用户类型?
【发布时间】:2011-04-09 11:16:17
【问题描述】:

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

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

【问题讨论】:

    标签: ruby-on-rails authentication modeling


    【解决方案1】:
    1. 我会创建一个User,它可以容纳Mentor 类和/或Student 类。这样,您的不同属性将彼此分离,而相同的属性仍保留在 User 类中。
      在控制器中,您可以根据用户持有的实例呈现模板(或部分模板)。一份给学生,一份给导师,一份给两者。

    2. 您还可以使用继承(User 作为父级,Mentor、Student 和 Both 作为子级)。您要在此处查看的关键字是Single Table Inheritance。

    恕我直言,问题在于这两种选择。这就是为什么我更喜欢第一种解决方案。

    【讨论】:

    • “Both”子类的想法对我来说非常尴尬,除非有人以某种方式创建了新属性。绝对更喜欢您的第一个解决方案。
    猜你喜欢
    • 2018-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-10
    • 2016-05-17
    • 2018-05-27
    • 1970-01-01
    • 2011-02-17
    相关资源
    最近更新 更多