什么时候可以使用多个设计模型?
我有3种类型的用户 - 用户,供应商和管理员。供应商拥有比用户更多的字段,因此我希望为它们提供单独的表。用户可以使用Facebook注册并登录(供应商不能)。用户和供应商共享相同的登录页面/表单。
我从多个设计模型开始,对如何处理单个登录页面感到困惑,然后在这里阅读了很多关于使用多态关联和STI而不是离散模型的内容。我仍然对何时应该使用每种方法以及哪种方法在这里工作得更好而感到困惑...我知道它有点含糊不清,任何建议都会很棒,或者任何好的链接......
用户在注册时也会填写一些额外的字段 - 即使是通过Facebook。如何跟踪omniauth登录的字段? (我应该使用这个或类似omniauth身份的设计......?)
感谢您的关注!我是第一次设置身份验证的rails newbie,非常感谢帮助
答案 0 :(得分:1)
根据具体情况,建议分离或使用单个型号。替代方案:
我认为选项#1更容易但更大,选项#2有点困难但更短。
此外,将模型分开是一个好主意,因为用户连接到FB和供应商否,它代表了很多差异。
另一方面,使用选项#2搜索会更快,因为它只有1个查询,并且表格很轻,因为它不包含用户和供应商的特定字段;你还必须考虑这个问题才能做出决定。
对于管理员,您可以遵循类似的标准。