У меня есть freight_request, поездки и бронирования.
Cargo_request has_many поездки (не все поездки относятся к freight_request)
Поездка has_many бронирования (все заявки принадлежат поездке)
Я пытаюсь написать область действия для freight_requests, которая получает все неиспользованные freight_requests.Это включает в себя freight_requests, у которых нет поездок, и freight_requests, у которых есть поездки, но которые не были забронированы.
В данный момент у меня есть
trip.rb
has_many :bookings
scope :not_booked, where("trips.id NOT IN (SELECT trip_id FROM bookings)")
booking.rb
belongs_to :trip
freight_request.rb
has_many :trips
scope :not_booked, joins(:trips) & Trip.not_booked
scope :no_trip, where("freight_requests.id NOT IN (SELECT freight_request_id FROM trips)")
Проблема в том, что код no_trip не возвращает freight_requests, у которых нет поездок (ничего не возвращает).
У кого-нибудь есть идеи, как я могу это сделать?Спасибо заранее