【发布时间】:2014-02-13 01:48:01
【问题描述】:
我有一个模型User(用于身份验证),它通过Rails 中的多态关联连接到另外两个模型Customer 和Seller。客户和卖家必须有不同的注册表单,因为他们的数据不同,但可以使用一个登录表单,因为他们都是Users。为了分别管理客户和卖家资源,为他们创建各自的控制器和视图是一个好主意,还是应该在UsersController中完成所有用户的管理?
【问题讨论】:
-
我认为你应该使用单表继承(STI)而不是多态关联。客户和卖方是用户类型。然后您可以使用单一表单来管理这两种类型的用户的登录。
-
@madyrockss 我研究了单表继承但决定反对它,因为它涉及将客户数据与卖方数据放在同一个表中。这没有意义,因为我有很多不同的领域。我认为表格会变得混乱,我更愿意将它们放在单独的模型中,所以我选择了多态关联。
标签: ruby-on-rails model-view-controller ruby-on-rails-4 polymorphism polymorphic-associations