Ruby on rails Rails中的多对多关系

Ruby on rails Rails中的多对多关系,ruby-on-rails,model,has-many,relationships,Ruby On Rails,Model,Has Many,Relationships,我有两个模型,我想连接m-to-m关系,但我希望该关系有自己的一些数据,比如到期日期或计数之类的 假设我有Users、Groups和一些UsersInGroups对象,其中Users和Groups都有一个有多个X,:通过Y关系。UsersInGroups属于用户和组,但也有一个加入日期,显示用户加入组的时间 因此,我可以使用self.groups.A从用户获取组变量,反之亦然,但如何获取join\u日期的变量?在多对多关系中,如果用户可以拥有多个组,而您在组中使用aUser.User\u,它将返

我有两个模型,我想连接m-to-m关系,但我希望该关系有自己的一些数据,比如到期日期或计数之类的

假设我有Users、Groups和一些UsersInGroups对象,其中Users和Groups都有一个
有多个X,:通过Y
关系。UsersInGroups
属于用户和组,但也有一个
加入日期
,显示用户加入组的时间


因此,我可以使用
self.groups.A
从用户获取组变量,反之亦然,但如何获取
join\u日期的变量?

在多对多关系中,如果用户可以拥有多个组,而您在组中使用aUser.User\u,它将返回一个组数组(这将是表示它们的模型类的实例)。您可以迭代其中的每一个,并获取每一个的加入日期,或者通过索引到数组中:aUser.user\u in_groups[0]。加入日期

如果您只需要一个连接日期数组或其他什么,我将研究Ruby collect方法

迭代:

aUser.users_in_groups.each do |group|
  group.join_date
end

在多对多关系中,如果用户可以有多个组,并且您在组中执行aUser.User\u,则它将返回组数组(这将是表示组的模型类的实例)。您可以迭代每个组并获取每个组的加入日期,或者通过索引到数组中:aUser.User\u In\u groups[0]。加入日期

如果您只需要一个连接日期数组或其他什么,我将研究Ruby collect方法

迭代:

aUser.users_in_groups.each do |group|
  group.join_date
end

Collect几乎就是我要找的,谢谢!还有一件事——如果我有aUser和aGroup,我想从这两个模型中找到加入日期怎么办?因为usersingroups属于这两个模型,所以你可以称为“users\u in\u groups”在每个对象上,获取这些对象的数组,这些对象都有一个join_date。因此,查找具有约束的UsersInGroups
:user_id=>aUser.id,:group_id=>aGroup.id
?似乎它工作正常,谢谢:)Collect几乎就是我要找的,谢谢!还有一件事——如果我有aUser和aGroup,我想从这两个模型中找到连接日期呢?因为UsersGroups属于这两个模型,你可以对它们中的每一个调用“users\u in\u groups”,并得到这些对象的数组,它们都有一个连接日期。所以,找到具有约束的UsersGroups
:user\u id=>aUser.id,:group_id=>aGroup.id
?似乎它工作正常,谢谢:)