Rails属于用户但是多态has_many模型?

时间:2012-05-06 14:34:45

标签: ruby-on-rails ruby ruby-on-rails-3 activerecord

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

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

和当然反之亦然......

plan表是我正在考虑的事情。是否可以在没有任何额外表格的情况下建立直接的Trip -> PlacesTrip -> Activities关系。

如果没有,那么处理这种关系的可能和有效的方法是什么,请记住,未来可能会有其他模型与Plan模型建立n-to-n关系。

更新 - 我发现了这个问题和工作的答案。对于那些希望和我一样的人来说,可能会有所帮助

ActiveRecord, has_many :through, and Polymorphic Associations

谢谢

1 个答案:

答案 0 :(得分:3)

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

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