我应该在Devise中使用多个用户模型还是一个大用户模型

时间:2014-11-25 19:24:23

标签: ruby-on-rails devise

我正在做一个有三种用户类型的Rails项目:学生,教师和管理员。每个用户类型都有一个对该角色唯一的十几个列。最初我认为我会为每种类型创建单独的模型,但是只有一个共享登录似乎会产生问题(我已经找到了Stack Overflow的解决方法,但它的复杂性和几年之久)。 / p>

对于这种情况,SOP是什么?根据角色类型,拥有24+列的单个用户模型是否总是空的?或者我最好坚持使用三个独立的模型并试图破解解决方法来进行共享登录?

谢谢!

编辑:哎呀,忘了添加我喜欢的第三种解决方法:只有一个用户模型,只有与登录相关的列,然后是每个角色的模型,其中包含特定于每个用户类型的列。这是一个很好的电话吗?

1 个答案:

答案 0 :(得分:0)

您可以制作两个单独的模型,StudentTeacher。然后为教师添加admin:boolean字段。我假设大多数管理员可能是老师?即使不是这种情况,您也可以默认所有管理员都是教师。三个独立的模型非常笨重。