Я пытаюсь отобразить пользователю сообщение об ошибке, в котором говорится, что бронирование не может быть отменено, если что-то пойдет не так.
В случае успеха ajax перехватывает нормальное поведение формы с помощью remote: 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>