как передать все даты между датой начала и датой окончания для простого календаря gem

я использую систему бронирования, и я использую простой календарь gem … у меня есть модель бронирования, которая состоит из даты начала и даты окончания и номера … теперь теперь, если клиент выбирает, чтобы остаться на 3 дня, и он выбирает тот же номер, мне нужно показать в моем простом календаре, что он останавливается, например. 12-10-2016 13-10-2016 14-10-2016 и этот конкретный номер выбран…. но проблема здесь в том, что он показывает только дату начала и номер, забронированный на этот день, но он не показывает остальные дни, забронированные номера …
как пройти все даты

class Booking < ApplicationRecord


alias_attribute :start_time, :start_date

has_many :booking_rooms, :dependent => :destroy, inverse_of: :booking
has_many :rooms, through: :booking_rooms
end

 class BookingRoom < ApplicationRecord
    belongs_to :room
    belongs_to :booking, inverse_of: :booking_rooms
 end

 class Room < ApplicationRecord

  has_many :booking_rooms
  has_many :bookings, through: :booking_rooms
end

2 ответа

  1. У вас есть start_timeпсевдоним:

    alias_attribute :start_time, :start_date
    

    У вас нет ни end_timeатрибута, ни псевдонима, ни настройки simple-calendar, чтобы переопределить значение по умолчанию, и поэтому вы знаете, что является вашим конечным атрибутом. Таким образом, simple-calendar считает ваше Bookingмероприятие однодневным.

  2. что-то вроде этого должно сделать трюк для u

     class BookingRoom < ApplicationRecord
     def start_time
       self.booking.start_date.to_datetime
     end
    
     def end_time
       self.booking.end_date.to_datetime
     end