所以我有三个简单的一对一关系的模型。
A
B
C
C 可以是他们 A 或 B 的孩子,但不能同时是两者,所以它只需要存储在一个字段中。
在 C 模型中,它应该有一个名为 的字段a_or_b_id
吗?
所以我有三个简单的一对一关系的模型。
A
B
C
C 可以是他们 A 或 B 的孩子,但不能同时是两者,所以它只需要存储在一个字段中。
在 C 模型中,它应该有一个名为 的字段a_or_b_id
吗?
在 C 模型中,我将有两个字段:一个包含 A 或 B 父级的 id,另一个标识记录是属于 A 还是 B
由于相同的 id 可能出现在 a 和 b 中,如果您只使用 a_or_b_id 字段,则不清楚 c 记录属于哪个模型
您正在寻找多态关联,而不是冗长的答案,我更愿意将您指向官方指南:
Rails 3 http://guides.rubyonrails.org/v3.2.13/association_basics.html#polymorphic-associations
Rails 4 http://guides.rubyonrails.org/association_basics.html#polymorphic-associations