У меня есть две модели: Пользователь и Компания, связанные с has_and_belongs_to_many.Я могу выбрать всех пользователей, принадлежащих к определенной компании, используя
Company.find(id).users
Проблема, с которой я сталкиваюсь, заключается в том, чтобы найти всех пользователей, которые НЕ принадлежат к определенной компании.Ну, я мог бы сделать это, используя
User.all - Company.find(id).users
Но я чувствую, что, безусловно, есть лучший способ добиться этого.Есть ли для этой цели решение activerecord?
В настоящее время у меня 8 пользователей (идентификатор от 1 до 8).Когда я пытаюсь,
User.joins(:companies).where('companies.id = ?', 13).map(&:id)
, я получаю результат [7, 8], который является ожидаемым.Когда я ставлю! = В приведенном выше запросе, результаты не те, что я хочу, т.е. массив от 1 до 6.
Нужна помощь.Спасибо.