У меня есть действие удаления в моем контроллере, это код в pickups_controller.rb
def delete
@pickup = Pickup.find(params[:id])
if !@pickup.nil?
@pickup.destroy
render json: { success_message: "Success!, Pickup is deleted." }, status: :ok
end
end
Я вызываю действие удаления с помощью javascript json, нажимая кнопку с помощью assets / javascripts / pickups.js
document.addEventListener("DOMContentLoaded", function(event) {
var xhttp = new XMLHttpRequest();
// delete the pickup you choose
$('.removepickup.btn.btn-primary').on('click', function() {
var pickup_div = $(this).parents('.removepickupparent');
var pickup_id = pickup_div.attr('id');
var x = "../deletepickup?id=" + pickup_id;
$.ajax({
type: "POST",
url: x,
success: function(data) {
var success = data.success_message;
$(".successr"+ pickup_id).text(success).show(0).delay(1000).hide(0);
setTimeout(function () {
location.reload();
}, 1000);
},
error: function (xhr, ajaxOptions, thrownError){
if(xhr.status==404) {
$(".errorl"+ pickup_id).text("Fail!, pickup Is Already Deleted Before").show(0).delay(1000).hide(0);
setTimeout(function () {
location.reload();
}, 2000);
}
}
});
});
// when pressing on this button, it redirects you to create pickup page
$('.addpickup.btn.btn-primary').on('click', function() {
var success = "Redirecting to add pickup Page"
$(".successp").text(success).show(0).delay(2000).hide(0);
setTimeout(function () {
$(location).attr('href', '../createpickup');
}, 2000);
});
});
функция работает отлично, но при добавлении 4-х строк дополнительного кода внутри действия удаления она не работает, вот код после добавления 4-х строк дополнительного кода внутри моего действия удаления, и действие не работает.
def delete
@pickup = Pickup.find(params[:id])
if !@pickup.nil?
# the start of the extra code
@trip = Trip.find(@pickup.trip_id)
if !@trip.nil?
@trip.seatsno = @trip.seatsno + 1
@trip.save
end
# the end of the extra code
@pickup.destroy
render json: { success_message: "Success!, Pickup is deleted." }, status: :ok
end
end
какие-либо решения, пожалуйста? .. зная, что я все еще новичок в Ruby on Rails
Примечание:
Я использовал byebug, и при достижении первой строки в коде etra я получил эту ошибку в терминале локального сервера
"request.env["action_dispatch.show_detailed_exceptions"] ||= show_detailed_exceptions?"