rails has_many:through или has_many_belongs_to

Я столкнулся с проблемой составления ассоциаций.

Оказывается, что

у меня есть user, user может иметь много photo booths,

также photo booths может иметь много users,

Эта проблема решена, но у меня есть Group photo booths,

Group photo booths может иметь много users и много photo books, Так

GroupPhotoBooth имеет много User а также PhotoBooth

PhotoBooth имеет много User и один GroupPhotoBooth

User имеет много PhotoBooths а также GroupPhotoBooths

class User < ApplicationRecord
  has_many :group_photo_booths
  has_many :photo_booths
end

class GroupPhotoBooth < ApplicationRecord
  has_many :photo_booth
  has_many :photo_booths
end

class PhotoBooth < AplicationRecord
  belongs_to :group_photo_booths
  has_many :users
end

Но этот порядок меня очень смущает. Что я делаю?

1 ответ

Решение

Если вы пытаетесь сделать ассоциации между классами и каждый класс связан с пользователем.

Тогда вы должны сделать только 1 класс, так как Пользователь и Пользователь имеют много ассоциаций "N".

разве этого недостаточно?

class User < ApplicationRecord
  has_many :group_photo_booths
  has_many :photo_booths
end
Другие вопросы по тегам