使用 + 1.day RAILS 在日期数组中查找下一个日期

Finding the next date in an array of dates using + 1.day RAILS

我有一个约会应用程序。我正在尝试在日期数组中构建 "prev" 和 "next" 链接。我正在尝试使用 "current" 日期 + 1.day 来查找 "next" 日期...但这不起作用。日期并不总是按顺序添加,所以我必须使用日期而不是 ID。所有日期都属于特定事件...因此他们必须具有该信息。

事件日期控制器

def show
    @set_date  = AppointmentDate.find(params[:id])
    @event  = Event.find(@set_date.event_id)
    @next = @set_date.appointment_dates.where(schedule_date: @set_date.schedule_date + 1.day)
    @prev = @set_date.appointment_dates.where(schedule_date: @set_date.schedule_date - 1.day)

  end

获取数组中的所有日期然后使用类似这样的方法:

@total = @records.length
current = @records.index(std_date(@date))
@next = @records[current + 1] if @records.length >= current + 1
@prev = @records[current - 1] if current != 0
@first = @records.first if current != 0
@last = @records.last if current + 1 < @records.length
@current = current + 1

其中 std_date 是一个辅助函数,用于在 dd/mm/yyyy 中转换日期,@date 是今天的日期或过去的任何日期 @records 是 dd/mm/yyyy 格式的记录总数(日期)。