我有两个模型,我想用m-to-m关系连接,但我希望关系有自己的一些数据,例如日期到期或计数或类似......
假设我有用户,组和一些UsersInGroups对象,其中用户和组都具有has_many X, :through Y
关系。 UsersInGroups belongs_to
用户和群组,但也有join_date
,用于显示用户加入群组的时间。
所以我可以使用self.groups.A
从用户那里获取组变量,反之亦然,但我如何获得join_date
变量?
答案 0 :(得分:1)
在多对多关系中,如果用户可以拥有多个组,并且您执行aUser.user_in_groups,则它将返回组的数组(这将是表示它们的模型类的实例)。您可以迭代其中的每一个并在每个上获取join_date,或者通过索引到数组中:aUser.user_in_groups [0] .join_date
如果你只是想要一个连接日期或类似的数组,我会研究Ruby收集方法。
迭代:
aUser.users_in_groups.each do |group|
group.join_date
end