Я создаю библиотечную систему в Ruby on Rails и пытаюсь найти способ рассчитать просроченные дни, исключая выходные дни, когда возвращен заемный элемент. Сейчас я просто вычисляю «дневную шкалу» как разницу между сроком исполнения и датой, когда товар был фактически возвращен, но я хочу исключить выходные, поскольку товары можно вернуть только в рабочие дни.
Это мой первый реальный опыт работы с Ruby и Rails, поэтому приношу свои извинения, если я упустил что-то очевидное. Спасибо за любую помощь, которую вы все можете предоставить.
Вот код, который у меня есть для функции «return»:
def return
@product = Product.find(params[:id])
today = Date.today
dayslate = today - @product.due_date
if @product.due_date >= today
@product.borrower = @product.check_out = @product.due_date = @product.extended_checkout = nil
@product.save!
flash[:notice] = "Okay, it's checked in!"
redirect_to(products_url)
else
@product.borrower = @product.check_out = @product.due_date = @product.extended_checkout = nil
@product.save!
flash[:notice] = "Checked in, but it was #{dayslate} days late!"
redirect_to(products_url)
end
end