Направляющие уничтожают, подтверждают с Ajax JQuery

Приложение будет по всей вероятности ловить те перевызванные исключительные ситуации выше, стек вызовов и так перебросок их признают что выше обработчик прерывать и обрабатывать их как соответствующих. Приложению довольно свойственно иметь обработчик исключений верхнего уровня, который регистрирует или сообщает об ожиданиях.

Другая альтернатива - то, что кодер был ленив и вместо того, чтобы ловить просто набор исключений, которые они хотят обработать, они поймали все и затем повторно бросили только тех, они не могут на самом деле обработать.

10
задан Brian Tompsett - 汤莱恩 4 July 2015 в 12:37
поделиться

3 ответа

Вы можете удалить:

:confirm => 'Are you sure?'

и заменить его настраиваемым событием onclick, например:

<%= link_to(image_tag('/images/bin.png', :alt => 'Remove'), @business, :class => 'delete', :onclick => 'someJSFunction', :id => 'trash') %>

Затем в своем application.js (или любом другом файле JS) выполните:

function someJSFunction(){
  if(confirm("Are you sure?"){
    //they clicked yes.
  } else {
    //they clicked no.
  }
}

Извините, у меня сейчас нет времени проверить это, но должен работать.

3
ответ дан 3 December 2019 в 16:53
поделиться

remove: confirm => 'Вы уверены?'

$('a.delete').click (function(){
            if(confirm("Are you sure?")){
                var row = $(this).closest("tr").get(0);
                $.post(this.href, {_method:'delete'}, null, "script");
                $(row).hide();
                return false;
            } else {
                //they clicked no.
                return false;
            }

    });
13
ответ дан 3 December 2019 в 16:53
поделиться

Спасибо, ребята, я использовал следующий учебник для настройки jquery с рельсами:

http: //www.notgeeklycorrect. com / english / 2009/05/18 / beginners-guide-to-jquery-ruby-on-rails /

при использовании вместе с этим руководством я использовал следующий код:

Query.fn.deleteWithAjax = function() {
    this.removeAttr('onclick');
    this.unbind('click', false);
    this.click(function() {
        if(confirm("Are you sure?")){
            $.delete_($(this).attr("href"), $(this).serialize(), null, "script");
            return false;
        } else {
            //they clicked no.
            return false;
        }
    })
    return this;
};
5
ответ дан 3 December 2019 в 16:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: