Как вернуть пустое отношение ActiveRecord?

Если у меня есть область видимости с лямбда-выражением, и она принимает аргумент, в зависимости от значения аргумента, я могу знать что совпадений не будет, но я все равно хочу вернуть отношение, а не пустой массив:

scope :for_users, lambda { |users| users.any? ? where("user_id IN (?)", users.map(&:id).join(',')) : [] }

Что мне действительно нужно, так это метод «none», противоположный «all», который возвращает отношение, которое все еще может быть связанными, но приводит к короткому замыканию запроса.

236
задан dzajic 2 February 2011 в 07:50
поделиться