0

我试图制作一个简单的应用程序来注册家庭。我先看这里,但我没有找到答案。这是我的问题:

我有 3 个表:我正在尝试连接的父母、孩子和家庭。父母有一些字符串(姓名,地址......),孩子有(姓名,年龄,过敏......)。一个家庭由 2 个父母和 0 个或多个孩子组成,还有一些额外的列(紧急号码......)

我的问题是:我应该如何编写家庭表才能将 2 个不同的父母与他们的 parent_id 和多个孩子联系起来?我应该为父母创建 2 列并设置外键。我应该为孩子们创建很多列吗?有自动调整解决方案吗?

我正在考虑制作一些额外的表格,例如 children_list 和 parents_list 并将它们与家人联系起来。

如果你有一些关于这种情况的文档,我会很感激阅读它。

谢谢。

编辑 :

我尝试了一些事情,我认为数据库不是问题。家庭表是具有多个列的联合表,我使用许多通过关联来链接父母和孩子。当我在家庭视图表单中选择许多父母/孩子时,我需要找到一种添加新行的方法,否则应用程序停止,因为我尝试使用两个不同的值设置两倍的 parent_id 列。

4

2 回答 2

1

最后:

我在railscast找到我的答案。这是我所做的:

  • 家庭餐桌
  • 带有 family_id 列的父母表
  • 带有 family_id 列的子表

在模型中:

  • 家庭有_many 父母和孩子,得到了 attr_accessible :parents_attributes (和孩子),得到了accepts_nested_attributes_for :parents, :children
  • 孩子和父母属于_家庭

现在我可以设置我的家庭视图来询问父母和孩子的属性,它会填写正确的表格!

于 2013-03-10T15:20:08.287 回答
0

您是否考虑过使用祖先宝石。Rails 不支持开箱即用的多表继承。你必须实现你自己的。最好使用单表继承。指向上述宝石的链接如下。我已经广泛使用了这个宝石。

https://github.com/stefankroes/ancestry

这是一个链接,详细解释了您的上述问题

多表继承与 rails 3

于 2013-03-10T02:29:57.550 回答