Опитвам се да покажа съобщение за грешка на потребителя, че резервация не може да бъде анулирана, ако нещо се обърка.
При успех ajax прихваща нормалното поведение на формуляра с дистанционно: true и изобразява частичен (случайно в рамките на съществуващ частичен), но не мога да свържа събитие „ajax:error“ към моя формуляр в моя js.erb файл.
Опитах много и много различни неща и вариации на синтаксиса, за да се опитам да го накарам да работи. (Аз съм съвсем нов в javascript/jQuery, така че може да е нещо основно, тъй като js.erb не показва грешки в конзолата). Това беше последният ми опит:
cancel_success.js.erb:
$('#cancel-message').html("<%= j (render 'cancel_success') %>");
$('#cancel-message').slideDown(350);
$('#search-show-container').hide()
$('#reservationId').closest('form').on('ajax:error', function(xhr, status, error) {
$("#cancel_error_text").html("Sorry, we can't cancel your booking at the moment, please try calling the restaurant:");
});
Моят изглед на формуляра:
<p id="cancel_error_text"></p>
<div id="search-show-container">
<%= form_tag(cancel_success_searches_path, remote: true) do %>
<%#= label_tag 'Reservation ID' %>
<%= text_field_tag :reservationId %>
<%= submit_tag 'Cancel Booking', name: nil %>
<% end %>
</div>