Voici mon Rails link_to
<%= link_to 'Delete',url_for(action: :delete,id: @user.id),data: {confirm: "Are you sure?"} %>
J'ai essayé la méthode ci-dessus mais elle est en train de supprimer directement sans aucun message d'alerte. Quel mal j'ai fait. Quelqu'un peut-il le corriger.
Essaye ça
<%= link_to 'Delete',url_for(action: :delete,id: @user.id),method: :delete, data: {confirm: "Are you sure?"} %>
Réponse pour Rails 4.1.8 (la question n'inclut pas la version)
et ressource standard (également non spécifié)
//= jquery_ujs
Doit être inclus dans application.js (peut-être manquant)user_path(@user)
:method => :delete
(manquant):data
(était bon)= link_to t (: delete), user_path (@user),: method =>: delete,: class => "btn btn-danger",: data => {: confirm => t (: are_you_sure)}
L'URL dans la question semble créer un GET, plutôt qu'une méthode DELETE. Cela peut fonctionner si: la méthode a été spécifiée. à mon humble avis, il est regrettable qu'il n'y ait aucun assistant URL nommé distinct pour cela.
Boîte de dialogue de confirmation Rails pour l'action de destruction:
<%= link_to 'Show', article_path(article),{:class=>'btn btn-success show_article' }%>
<%= link_to 'Edit', edit_article_path(article),{:class=>'btn btn-warning edit'} %>
<%= link_to 'Destroy', '#', "data-toggle"=>"modal", "data-target" => "#delete-#{article.id}",:class=>'btn btn-danger' %>
<div class="modal fade" id="delete-<%= article.id %>" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">Confirmation Box</button>
</div>
<div class="modal-body">
<p>Are you sure to delete this article</p>
</div>
<div class="modal-footer">
<div class="modal-footer">
<%= link_to 'Delete', article_path(article), method: :delete, :class => 'btn btn-danger' %>
<a href="#" data-dismiss="modal" class="btn btn-warning">Cancel</a>
</div>
</div>
</div>
</div>
</div>
</td>
Je pense que vous devriez utiliser: option de méthode
<%= link_to 'Delete',url_for(action: :delete,id: @user.id), method: :delete, confirm: "Are you sure?" %>
Il est probablement préférable d'utiliser le bouton (et le formulaire) pour ce type d'action
link_to('Delete', {controller: :controller_name, id: id, action: :action_name}, confirm: "Are you sure you want to delete this?", method: :delete)
Assurez-vous que vous disposez à la fois de la bibliothèque jQuery et du pilote jQuery pour Rails inclus. Le jquery-Rails
gem prendra soin de ces deux dans les versions ultérieures de Rails, d'après ce que je sais.
De plus, pour de meilleures chances de compatibilité avec les futures versions du pilote jQuery, déplacez le :confirm
option extérieure :data
et laissez le jquery-Rails
gem décide quoi en faire.
Vérifiez le lien suivant:
<%= link_to 'Delete',url_for(action: :delete,id: @user.id), confirm: "Are you sure?" %>