У меня есть следующий фрагмент кода, который очень хорошо работает для увеличения числа на основе последнего максимального числа в базе данных.Однако, если это ноль, я получаю ошибку.
Чего я хотел бы добиться, так это чтобы я мог сохранить share_number: @latest_share += 1
на месте, но также проверить в этой строке, что, если он возвращает nil, мы устанавливаем его равным 1, и затем цикл продолжается.
Возможно ли это как-нибудь?
Спасибо!
# Get last sharenumber in captable
@latest_share = @transaction.captable.shares.maximum(:share_number)
@number_of_share_numbers_to_create.times do |i| # TODO Refactor this so we don't slow down the application with so many queries
Share.create(
owner_id: params[:buying_shareholder_id],
captable_id: @transaction.captable.id,
company_id: @transaction.company.id,
share_number: @latest_share += 1 #Increment up from the latest number, but start at 1 if this is nil
)
end