Пользователь has_many группирует мысли GroupsUser.Мы устанавливаем @groups_user.has_left = true
, когда он покидает группу.Из-за этого невозможно получить группы, в которые входит пользователь, выполнив @user.groups.Итак, я начал создавать запрос на объединение, но еще не обработал его.
Как мне создать свой запрос, чтобы @ user.active_groups возвращал только те, в которых таблица объединения groups_users has_left равна false?
app / models / user.rb
43 # Groups
44 has_many :groups_users, dependent: :destroy
45 has_many :groups, -> { distinct }, through: :groups_users
46 scope :active_groups, ->{ joins(:groups_users)
.merge(GroupsUser.active_members) }
app / models / groups_user.rb
37 scope :active_members, -> { where(has_left: false) }