|
|
1
5
我很喜欢亚当·坦纳的回答,但我会把它设置得有点不同。首先,一个组织与管理员的关联方式并不像描述的那样工作-您必须在用户表中有一个不同的外键,并在
我的版本稍微复杂一点,但我认为它能很好地完成工作。首先,管理员应该是用户在组织中拥有或不拥有的角色。我将首先解决用户/组织问题,然后保存地址问题供以后使用。 以下是迁移,您可以使用它们需要的任何其他字段来增强迁移:
如您所见,我们正在添加一个成员资格表,它将连接用户和组织。我们还添加了一个索引来稍微加速关联。现在,对于模型:
在这里,我们通过会员资格来连接我们的用户和组织。用户可以是他们所属的任何组织的管理员。我已经创建了一些方法来设置和获取组织中用户在用户模型中的管理状态。 接下来是地址:我已经在我的一篇博客文章中讨论过这个问题: http://kconrails.com/2010/10/19/common-addresses-using-polymorphism-and-nested-attributes-in-rails/ 如果您有任何问题,请提问。祝你好运! 更新 Edward M.Smith在评论中指出,我的管理方法不是很容错。例如,我试图尽可能保持代码的整洁,但他有一个观点。所以这里有一个更强大的版本,解释了如何在一个组织中使用会员,用户 不是 部分:
和往常一样,测试驱动的开发是最好的,但我通常没有时间来解决stackoverflow问题。) |
|
|
2
2
我已经删除了管理关联,部分原因是它无论如何都不起作用,主要是因为正如Jaime所说,这样做是错误的(大多数开发人员使用某种角色系统)。有关创建可扩展角色系统的好方法,请参阅Jaime的帖子。 希望这能帮到你! |