Использования рельсов 4.отчетов, где логические верны для каждого элемента массива - рельсам 4
У меня есть Spot
модели с 7 булевыми атрибутами для каждого дня недели: monday:boolean
, tuesday:boolean
, wednesday:boolean
и т.д.
Пользователи должны иметь возможность выбирать диапазон дат и возвращать только те пятна, которые доступны в эти дни.
В настоящее время возникают проблемы с настройкой метода класса, который находит правильные записи.
Пока что я создаю диапазон от дат, которые вводит пользователь, который возвращает все дни недели в этом диапазоне.
range_array = (start_date..end_date).to_a.map{ |date| date.strftime("%A").downcase }
=> ["wednesday", "thursday", "friday"]
И вот где я застреваю. Я пытаюсь найти все точки, где логическое поле, соответствующее элементу массива, истинно. Поэтому в приведенном выше примере я хотел бы задать вопрос Spot.where(wednesday: true, thursday: true, friday: true)
Делает что-то подобное возможно? Есть ли лучший способ? Возможно, я собираюсь сделать это неправильно. Спасибо за любую помощь/предложения.
Update (Андрей) ... Spot.first
примера пример:
=> #<Spot id: 18, address: "4640 east skyline", title: "iodjiojoidj", description: "<p>jijiojfojewoif</p>\r\n",
created_at: "2016-03-30 04:54:07",
updated_at: "2016-09-26 05:39:51",
user_id: 13, timezone: nil,
surge_pricing: nil, free: nil, monday: true,
tuesday: true, wednesday: true, thursday: false,
friday: false, saturday: false, sunday: false>
, какая база данных сделать вас использовать? –
sqlite3 @Andrey – Kathan
Пожалуйста, покажите нам примерный экземпляр модели 'Spot', например' Spot.first' –