在新的rails应用程序中,我必须建立这种关系
Trip -> 1-to-1 -> Plan
Plan -> n-to-n -> Places
Plan -> n-to-n -> Activities
和当然反之亦然......
plan
表是我正在考虑的事情。是否可以在没有任何额外表格的情况下建立直接的Trip -> Places
和Trip -> Activities
关系。
如果没有,那么处理这种关系的可能和有效的方法是什么,请记住,未来可能会有其他模型与Plan模型建立n-to-n关系。
更新 - 我发现了这个问题和工作的答案。对于那些希望和我一样的人来说,可能会有所帮助
ActiveRecord, has_many :through, and Polymorphic Associations
谢谢
答案 0 :(得分:3)
这是可能的,但是复杂而混乱,所以我不愿意。您可以定义has_many ..., :through => :plan
关联,以便轻松有效地访问旅行的地点和活动等。
Rails不为:through
关联提供belong_to
选项,但您可以定义方便方法来访问这些关联,并且可以使用:include
选项有效地查询关联的记录找到时。