Заполнение таблиц динамическими датами в Ruby on Rails
В настоящее время я работаю над приложением для бронирования встреч, в котором результаты поиска отображаются в таблице, а столбцы содержат кнопки для определенного времени. Пожалуйста, посмотрите на прикрепленный скриншот:
Я ищу способ, в котором даты с 1 октября по 7 октября (как видно на скриншоте) динамически заполняются датами текущей недели, например, на текущей неделе понедельник - 19 ноября, а воскресенье - 25 ноября. Я искал в Интернете, чтобы найти способ сделать это, а также я искал Ruby Toolbox, чтобы найти что-то, что поможет мне в достижении этого, но пока безуспешно.
Кто-нибудь может порекомендовать подходящий способ сделать это?
Спасибо
2 ответа
Я бы попытался объединить предыдущее решение для ответа с DateTime.now.beginning_of_week:
week_beginning = DateTime.now.beginning_of_week
7.times do |day_number|
day = week_beginning + day_number.days
#assuming we start at 8:30AM
first_hour = day + 8.hours + 30.minutes
#you have the 'pivot' for the day, just create as much time ranges as you want now
hour1 = first_hour + 1.hour
hour2 = ...
# (Obviously you will somehow iterate to get all the hours)
end
Поддержка даты и времени в Rails действительно фантастическая, просто взгляните на расширения ActiveSupport.
Вы можете сделать что-то вроде
Time.now + 1.day
Time.now + 2.day
...
по вашему мнению на 7 дней, чтобы получить дату для каждого дня недели, и просто замените Time.now на любую дату, с которой вы хотите начать. Это выполняет то, что вы ищете?