Método: =>: delete não trabalhar e: opção confirmar ignorado

votos
8

Depois de voltar a um projeto Rails velho eu encontrei nenhum dos links destruir / apagar trabalhou e clique em Cancelar na janela de confirmação seria ainda enviar o link.

Exemplo do meu código é:

<%= link_to 'Delete', admin_user_path(@user), :confirm => 'Are you sure?', :method => :delete %>
Publicado 10/12/2008 em 07:13
fonte usuário
Em outras línguas...                            


7 respostas

votos
3

Esse problema ocorre se você estiver usando jQuery, e se não, em seguida, olhar para algo como isso:

No meu caso, eu estava usando:

javascript_include_tag: all%>

E ele não estava funcionando, mas quando eu colocá-lo como:

javascript_include_tag: defaults%>

Funcionou!

Respondeu 20/01/2011 em 02:21
fonte usuário

votos
0

Tente usar

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js"></script> 

antes

<%= javascript_include_tag "application" %> 

em seu layout, e também eliminar

//= require jquery

linha em seus application.js .

Este foi o caso para mim. Não faço ideia por que não trabalhar com arquivo de trilhos originais jquery.js.

Respondeu 21/06/2016 em 08:04
fonte usuário

votos
0

Aqui está a solução rápida - Basta substituir conformidade com os dados-confirm

<%= link_to 'Delete', admin_user_path(@user), 'data-confirm' => 'Are you sure?', :method => :delete %>
Respondeu 29/04/2015 em 12:12
fonte usuário

votos
0

Na maioria das vezes, isso acontece porque você está chamando código jQuery antes de ter sido carregado, ou antes de existirem os elementos da página.

Para combater esse uso algo como:

$(document).ready(function () {
  $('*[data-confirm]').click(function(){
    return confirm($(this).attr('data-confirm'));
  });
});
Respondeu 06/07/2013 em 18:58
fonte usuário

votos
0

Aqui está uma maneira de usar jQuery para fornecer a mesma confirmação para todos os botões de exclusão:

;(function($){
  $(function(){
    $('input.destroy').click(function(){
      return confirm($(this).attr('data-confirm'));
    });
  });
})(jQuery);

Você apenas tem que ter a certeza de adicionar class = "destruir" a cada elemento, por exemplo:

= button_to 'Delete', polygon, :method => :delete, :class => "destroy", :confirm => "Are you sure?"
Respondeu 26/04/2013 em 06:57
fonte usuário

votos
0

No meu caso, parecia ser um problema com uma combinação antiga de protótipo e rails.js. A resposta de esta pergunta me levou a que: : confirmar opção no Rails ser ignorado ao usar Rails 3 e jQuery UJS

Então eu baixei as últimas rails.js de https://github.com/rails/prototype-ujs/raw/master/src/rails.js e o mais recente protótipo de https://ajax.googleapis.com/ajax/libs /prototype/1.7.0.0/prototype.js .

Agora tudo parece funcionar como esperado.

Respondeu 17/02/2011 em 03:48
fonte usuário

votos
0

Chris, Hi. Eu tive o mesmo problema. Eu apaguei Firebug eo problema persistiu. Eu li a partir de outro usuário que ele precisava para reiniciar o Firefox, que não quer trabalhar. Alguns disseram tentar Safari, que não quer trabalhar.

No final, foi uma coisa novato:

Eu tenho ajudantes para inserir um ícone, como edit_icon, que devolver uma tag de imagem agradável para o ícone de edição, etc.

Um desses métodos auxiliares foi o método delete_icon, onde eu escrevi assim:

def delete_icon (objeto = nil) link_to image_tag ( 'icons / delete.jpg',: width => 20,: Beira => 0), objeto,: confirm => 'Tem certeza?',: Método =>: delete fim

Foi uma (boa) tentar a seca, mas melhor teria sido se eu só tinha def delete_icon (objeto), e não objeto = nulo, porque torna mais clara quando eu chamá-lo de que eu devo passar o objeto para destruir . Chamando o mesmo método com o objeto a ser excluído funcionou para mim.

Em suma: verifique seus métodos de ajuda se você está tentando secar.

Respondeu 06/07/2010 em 15:20
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more