【发布时间】:2011-12-28 07:03:34
【问题描述】:
我正在构建一个用户可以扮演不同角色(如卖家、买家、代理等)的应用。所以我的计划是使用多态关联,为每个角色构建一个类,并将每个实例与一个用户帐户相关联。每个用户只能是其中一种类型,在阅读了该主题后,我得出结论认为这比使用 STI 更好,但如果我错了,请纠正我。
因此,该应用将为主要类型的用户帐户提供不同的注册屏幕。例如,在卖方注册表单中,用户将填写其用户帐户所需的详细信息以及卖方资料的特定字段。
所以这个表单应该创建用户对象,然后将卖家对象关联到前者。你怎么处理这个?我的猜测是,这个表单应该对应于卖家控制器的“新”动作,并且在创建动作中,用户帐户应该在最终创建卖家之前创建。
这是正确的吗?如果是这样,我应该从卖方控制器调用用户控制器创建操作,还是直接调用用户模型?如果是前者,请提供一些示例代码,因为我不确定应该如何从另一个控制器调用一个控制器。
编辑:我也考虑过使用多部分表单,这可能更容易,但在决定之前我想检查这个选项。
【问题讨论】:
标签: ruby-on-rails model-view-controller controller polymorphic-associations