【发布时间】:2021-02-06 09:12:50
【问题描述】:
我目前创建多个预订端点,这需要数周作为参数“数量”。
到目前为止,我有这个:
在我的控制器操作中:
def multiple
@qty = params[:qty]
@booking = Booking.new(booking_params)
if @booking.save
@newbookings = @booking.createmore(@qty)
render json: @newbookings, status: :created
else
render json: @booking.errors, status: :unprocessable_entity
end
end
在我的模型中,我有一个创建多个的例程。
def createmore(quantity)
bookings = []
quantity.to_i.times do
bookings.push(self)
end
puts "#{@bookings}"
newbookings = []
firstBooking = self
bookings.each do | booking |
booking.start = firstBooking.start
booking.end = firstBooking.end
booking.name = firstBooking.name
booking.email = firstBooking.email
booking.contact = firstBooking.contact
newbookings.push(booking)
end
newbookings.each do | booking |
booking.save
end
end
问题是,如何递归地在日期上添加一周。即第二次预订增加 7 天,第三次预订增加 14 天,第四次预订增加 21 天,以此类推,直到数量为零。
我可以在 JavaScript 中立即执行此操作,但不知道从哪里开始使用 ruby。我非常感谢任何帮助。
【问题讨论】:
标签: ruby-on-rails math ruby-on-rails-5