Это потому, что ваш массив искажен:
array = [Sat, 30 Jul 2011 00:00:00 CEST +02:00, Sat, 30 Jul 2011 00:15:00 CEST +02:00, Sat, 30 Jul 2011 00:30:00 CEST +02:00, Sat, 30 Jul 2011 00:45:00 CEST +02:00
обратите внимание, что это разделяет дни как отдельные элементы. Или это ты делаешь? Если нет, вам, вероятно, следует преобразовать их все в фактические DateTime
объекты (возможно, используя #parse
), а затем поместить их в массив.
Кроме того, вы можете захотеть превратить этот метод в область видимости:
scope :booked, lambda { |datetimes| where("date NOT IN (?)", datetimes) }