Заполнение таблиц динамическими датами в 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 на любую дату, с которой вы хотите начать. Это выполняет то, что вы ищете?

Другие вопросы по тегам