我是rails新手,我想了解如何正确定义用户模型及其角色/类型。在我正在编写的应用程序中,我有三种类型的用户:客户端、员工、管理,并具有以下功能约束
应用程序还具有一个服务(服务的定义:名称、价格等)和一个ServiceInstance (出售的服务)模型。
任何建议/反馈都将受到高度赞赏。
发布于 2014-03-04 22:19:07
听起来,员工、管理和客户端将是应用程序的关键概念。我将为其中每一个创建一个模型,并与用户建立一对一(has_one或belongs_to)关系。然后,您可以添加对用户的验证,以允许/不允许人员、管理和客户端的组合。
添加:这意味着用户仍然是代表可以登录到您的系统的人的模型。如果这个用户是一个客户端和人员,那么它有这两个模型相关联。
ServiceInstance与客户端有一个名为‘provided’的关联。ServiceInstance与工作人员有一个名为“performed”的关联。当然,客户端和工作人员实际上指明了一个用户,但是一个特定上下文/角色中的用户。
如果您需要显示客户端、员工或管理员的列表,只需查询该表,但要打印相关的用户信息。如果需要显示所有用户的列表,请查询users表,并显示图标或其他内容,以确定他们是客户端、职员、管理人员还是组合用户。
添加:因此,您对一个用户的评论,即职员和客户端,将在staff和client表中,因为该用户具有两个角色。
https://stackoverflow.com/questions/22182946
复制相似问题