Отношения многие ко многим в Rails - PullRequest
1 голос
/ 02 августа 2010

У меня есть две модели, которые я хочу связать с отношением m-to-m, но я хочу, чтобы у отношения были некоторые собственные данные, такие как дата, счет или что-то в этом роде ...

Предположим, у меня есть пользователи, группы и некоторые объекты UsersInGroups, где у пользователей и групп есть отношение has_many X, :through Y.UsersInGroups belongs_to пользователь и группа, но также имеет join_date, который показывает, когда пользователь присоединился к группе.

, поэтому я могу использовать self.groups.A для получения групповых переменных от пользователя и наоборот, нокак мне получить переменную join_date?

1 Ответ

1 голос
/ 02 августа 2010

В отношениях «многие ко многим», если у пользователя может быть много групп, и вы делаете aUser.user_in_groups, он возвращает массив групп (который будет экземпляром класса модели, представляющего их).Вы можете выполнить итерацию по каждому из них и получить join_date для каждого из них или путем индексации в массив:изучите метод сбора Ruby.

Итерация:

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