首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails应用程序:为两个用户模型建模的最佳方法(比如Uber)。设计?1轮廓模型?

Rails应用程序:为两个用户模型建模的最佳方法(比如Uber)。设计?1轮廓模型?
EN

Stack Overflow用户
提问于 2018-09-24 01:56:14
回答 1查看 129关注 0票数 1

我有以下模型(模型不重叠,会计不能成为客户):

  • 公司有许多会计人员。
  • 会计有很多客户

会计和客户可以签到。

什么是最好的方式来做的奥斯?

备选案文A:

使用有两种独立模型的设计(会计和客户:https://github.com/plataformatec/devise/wiki/How-to-Setup-Multiple-Devise-User-Models )

选项B:对一个Model用户,然后使用另一个模型配置文件,它包含一些信息,例如,列角色。

正反两方面会很有帮助,因为每次我构建这样一个Rails应用程序时,我都会问我自己的问题。我习惯于使用选项B。

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-09-24 02:58:25

好吧,正确的解决方案取决于您将如何处理这两种类型的用户、会计师和客户。这两种选择都是合理的,不过,我还是赞成备选案文B。

专业人士包括:

  • 您不必担心会计师和客户模型的相同登录。当在表单中使用相同的标志登录客户和会计师时(我怀疑他们是否会有2种不同的登录表单),控制器将不得不确定它是客户还是会计。如果给定的登录将位于customersaccountants表中,则可能会出现歧义。当您只使用一个表users时,就没有这样的问题了。
  • 您不必重复与授权相关的代码。迟早,但有两种不同的模式,这是不可避免的。不同的视图,不同的邮件模板,有时是不同的控制器。
  • 我不确定你的情况,但同一个用户可以同时做客户和会计。更多的是可用性,一些应用程序确实将这些帐户分开:双角色用户有单独的登录,一个用于accountant角色,另一个用于customer。对我来说,这并不是对用户友好的,最好只有一个登录名,在登录时可以选择在角色之间切换。

另一方面,如果会计师和客户一点也不重叠,就像普通用户和管理员一样,那么让他们在不同的模式下工作是有意义的。但是在这种情况下,它们也需要不同的界面,就像站点管理员的管理面板和常规用户的常规UI一样。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52471853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档