has_and_belongs_to_many排序关系

时间:2013-09-24 02:49:53

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

我的Group模型有has_and_belongs_to_many :activities

对于每个Group,相关的Activity需要按position字段进行排序/排名。我认为我不能在position模型中添加名为Activity的字段/列,因为Group可以包含多个Activities,而Activity可以包含Groups多个{{1}}。

关于如何建模的任何想法?

我正在使用Mongoid 3,但我认为解决方案与ActiveRecord类似。

谢谢!

1 个答案:

答案 0 :(得分:0)

我会在连接表中放置一个固有的属性。为此,您需要将habtm转换为has_many :through

以下是一个SO answer,详细说明如何在Mongoid中实现has_many :through,因为默认情况下不支持。

因此,在这种情况下,联接表activity_groups可以有一个名为position的列。