Якщо у мене є область з лямбда, і він бере аргумент, залежно від значення аргументу, я можу знати, що збігів не буде, але я все одно хочу повернути відношення, а не порожній масив:
scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] }
Мені дуже хочеться - це "жоден" метод, протилежний "всім", який повертає відношення, яке все ще може бути ланцюжком, але призводить до того, що запит буде короткозамкнений.