Я пытаюсь выяснить, как дисквалифицировать записи в запросе, которые находятся в связанной таблице.RoR: ActiveRecord и дисквалификация со связанными моделями
У меня есть 3 таблицы, User, Job и связанная таблица JobDenial. JobDenial имеет отношение own_to с пользователем & Job.
У меня есть текущее задание ActiveRecord, которое квалифицируется на несколько разных вещей, но мне нужно добавить дополнительное условие, чтобы оно игнорировало задания, в которых job_id и текущий user_id находятся на JobDenial.
я могу сделать это в настоящее время, как:
job_ids = current_user.job_denials.map(&:job_id)
jobs = Job.near(params[:zipcode], distance).where('active = true AND id NOT IN (?)', job_ids).select(:id).uniq
.... но мне интересно, если есть более эффективный способ сделать это с помощью приводящего к получению карты первой из job_ids.
Я изменил бы 'карты (&: job_id)' на 'срывать (: job_id) ', и напишите' where' as: 'где (active: true) .where.not (id: job_ids)'. Но окончательно использовать такой же подход здесь. – BroiSatse