0

在我的 Rails 应用程序中,我的应用程序有公司(有专业需求)和公共用户(有个人需求)。

这两个角色都有自己的属性:公共用户的用户名、位置...,以及公司的地址、电话、传真、专业 ID...。

另一方面,它们都共享一些属性,例如电子邮件和密码(更具体地说是身份验证信息)。

我如何在 Rails 中组织这个?什么是最佳实践?模型的最佳命名法?

我有点失落。我一定要吗:

  • 把所有东西都放在同一个模型中(称为用户)???似乎不得不处理一个烂摊子
  • 或者分离模型(公司和公共)并将它们链接到用户模型以获得共享属性???扩展模型的种类

如果你们中的一些人已经处于相同的情况(一个公开和专业使用的应用程序),你能告诉我(我们)你是怎么做的吗?

提前致谢。

4

1 回答 1

2

根据我的观点,您可以使用 Single Table Inheritance Company,Public(根据我的猜测 CompanyUser,PublicUser 最适合应用程序使用的任何名称),它是从 User 继承的。或者您可以使用一些基于角色的系统来识别它们.

于 2012-08-20T14:20:28.590 回答