0

在一个新的 Rails 应用程序中,我必须建立这种关系

Trip -> 1-to-1 -> Plan
Plan -> n-to-n -> Places
Plan -> n-to-n -> Activities

当然,反之亦然的关系也是如此。

plan桌子是我正在考虑的东西。是否可以在没有任何额外表的情况下建立直接Trip -> Places和关系。Trip -> Activities

如果不是,那么处理这种关系的有效方法是什么,请记住,将来可能会有其他模型与 Plan 模型具有 n 对 n 关系。

更新 - 我发现了这个问题和答案。可能对希望和我做同样事情的人有所帮助

ActiveRecord、has_many :through 和多态关联

谢谢

4

1 回答 1

3

这是可能的,但复杂而混乱,所以我不会。您可以定义has_many ..., :through => :plan关联以轻松有效地访问旅行地点和活动等。

Rails 不提供关联:through选项belong_to,但您可以定义方便的方法来访问它们,并且:include在查找时使用该选项可以有效地查询关联记录。

于 2012-05-06T17:04:32.957 回答