Nếu tôi có một phạm vi với lambda và nó cần một đối số, tùy thuộc vào giá trị của đối số, tôi có thể biết rằng sẽ không có bất kỳ kết quả khớp nào, nhưng tôi vẫn muốn trả về một mối quan hệ, không phải là một mảng trống:
scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] }
Điều tôi thực sự muốn là một phương thức "không", ngược lại với "tất cả", trả về một mối quan hệ vẫn có thể bị xiềng xích, nhưng kết quả là truy vấn bị ngắn mạch.