यह एक और तरीका है।
Offer.find_by_sql("SELECT * FROM offers o WHERE NOT EXISTS (SELECT * FROM products WHERE products.offer_id = o.id AND service_id IS NULL)")
यहां तक कि एक ओआरएम का विचार यह है कि आप एसक्यूएल को सार करते हैं, इस तरह की जटिल क्वेरी में, मुझे लगता है कि सबसे सरल समाधान चुनना बेहतर है और क्वेरी को और भी जटिल नहीं करना है।