Ruby on rails 具有不同角色作为子类的Rails人员模型
我正在使用RubyonRails,但这个问题通常适用于应用程序/数据库模型设计。我想为许多类型的人建模,比如用户(可以登录的人)、员工和客户。其中每一个都有共同的属性,比如姓名和电子邮件,它们应该是Person超类的一部分。每种类型还具有其他更具体的属性。一个人可以是这些角色中的一个或多个(一个人既可以是员工也可以是客户) 在代码中,适当的结构看起来像一个超类/子类关系,但从数据库规范化的角度来看,应该有一个客户表,该表引用Person表的公共属性 我需要决定如何结合这两种方法Ruby on rails 具有不同角色作为子类的Rails人员模型,ruby-on-rails,database-design,composition,subclassing,user-roles,Ruby On Rails,Database Design,Composition,Subclassing,User Roles,我正在使用RubyonRails,但这个问题通常适用于应用程序/数据库模型设计。我想为许多类型的人建模,比如用户(可以登录的人)、员工和客户。其中每一个都有共同的属性,比如姓名和电子邮件,它们应该是Person超类的一部分。每种类型还具有其他更具体的属性。一个人可以是这些角色中的一个或多个(一个人既可以是员工也可以是客户) 在代码中,适当的结构看起来像一个超类/子类关系,但从数据库规范化的角度来看,应该有一个客户表,该表引用Person表的公共属性 我需要决定如何结合这两种方法 例如,我希望能够
例如,我希望能够通过
Customer.create(名称:“Johnny Appleseed”,最喜欢的产品:widget)
和queryEmployee.where(电子邮件:someone@company.com”
,并避免在每个角色模型上重复人员字段。这样,我就可以改变我为一个人建模的方式,而无需使用相同的更改更新所有其他表。如果使用单表继承,效果会更好。
您可以从本教程开始使用单表继承会更好。
您可以从本教程开始用户是否可以与客户和员工是同一个人?我想你真的是在尝试建立一个表,用一种方式来确定哪个人是员工、客户还是两者都是。当你说“适当的结构看起来像一个超类/子类关系”时,你是否在想
角色人?用户是否可以和客户和员工是同一个人?我想你真的是在尝试建立一个表,用一种方式来确定哪个人是员工、客户还是两者都是。当你说“适当的结构看起来像一个超类/子类关系”时,你是在想角色人?