अगर मेरे पास एक लंबो के साथ गुंजाइश है और यह एक तर्क लेता है, तो तर्क के मूल्य के आधार पर, मुझे पता चल सकता है कि कोई भी मैच नहीं होगा, लेकिन मैं अभी भी एक रिलेशन को वापस करना चाहता हूं, खाली सरणी को नहीं:
scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] }
जो मैं वास्तव में चाहता हूं वह एक "कोई नहीं" विधि है, "सभी" के विपरीत, यह एक ऐसा संबंध देता है जो अभी भी जंजीर हो सकता है, लेकिन इसके परिणामस्वरूप क्वेरी शार्ट-सर्किट हो जाती है।