Вот несколько проблем, которые я мог видеть с вашим кодом:
Я думаю, что добавил функциональность, которую вы хотели, вот код: https://codepen.io/anon/pen/MBaoxb?editors=0011
Изменения, которые я сделал, следующие:
Изменено так, что новые добавляемые ссылки могут увеличиваться на основе последнего числа, введенного в массив.
**Line 33:** var update1 = [links[links.length-1] + 1, links[links.length-1] + 2];
Удалены первые 2 ссылки из массива (так что позиция может быть установлена из индекса, так как в настоящее время настроен код в функции «update»).
**Line 56:** links = links.splice(2, links.length);
Я понял это, вот решение.
Контроллер:
# GET /agreements/1/release
def release
@agreement.released_at = Time.now.utc
if @agreement.save
render json: {success: ["Agreement released."]}
else
render json: @agreement.errors, status: :unprocessable_entity
end
end
Модель:
class Agreement < ApplicationRecord
validate :released_agreement_cannot_be_released
def released_agreement_cannot_be_released
if released_at_was.present?
errors.add(:released_at, "already released")
end
end
end