0

如何设置具有多个模型的设计?我已经尝试使用 rolify 和 cancan 在我的数据库中设置单独的角色,但是每个角色都有不同的方式来验证自己的登录身份。例如,学生将有一个 student_number,而讲师将有一个用户名但没有 student_number。还有很多其他的属性是讲师没有的,学生会,反之亦然。

我是rails 4的新手。

4

2 回答 2

2

看起来类和继承在这种情况下可以派上用场。定义一个用户模式并让 Student 和 Lecturer 从该类继承呢?

class Student < User
  # student's peculiar attributes
end

class Lecturer < User
  # lecturer's peculiar attributes
end

然后你可以有两个独立的控制器和相应的视图。登录页面可能有两个指向正确登录页面的链接。

于 2013-08-28T14:51:05.897 回答
0

我使用用户模型和附加到用户的“has_one”配置文件模型解决了这个问题,所有用户都使用同一个表登录,但设计加载保存在配置文件中的另一个数据。

其他选项是仅使用用户模型并在用户不是学生时将 student_number 留空。

于 2013-08-28T20:41:04.817 回答