1
**<%= link_to "Delete",(@article) ,method:"delete",data: { confirm: 'Are you sure you want to delete ?' } %>** 

Nachladen ich eine Rails-Anwendung haben, die der Benutzer ein Konto und Beiträge löschen und aktualisieren kommentieren Benachrichtigungen Schienen und JQuery und erhalten mitdie link_to mit bestätigen funktioniert nur nach der Seite

wenn ich auf erstellen lässt die Tasten, die Bestätigung Nachrichten enthalten funktionieren nicht, bis ich die Seite aktualisieren !!! Warum ?? Was sollte ich tun ??

+2

Zeigen Sie uns Ihre application.js | Fügen Sie Inhalte dynamisch hinzu? | Verwenden Sie Turbolinks? – Leito

+0

‚// = erfordern jquery // = jquery_ujs erfordern // = erfordern turbolinks // = require_tree. // = erfordern jquery.turbolinks $ (document) .auf ('Seite: change', function() { $ (document) .ready (function() { $ ("# nicht-kommentierten") .mouseover (function() { $ (this) .attr ("src", "/assets/balloon2.svg"); }) $ ("# nicht kommentiert"). mouseout (function() { $ (this) .attr ("src", "/assets/balloon.svg"); }); (..“Kommentare-count ") klicken (function() $ { $ (" Ansicht. -comments ") wechseln();. }); }); $ (" view-Kommentare ") hide();.. })‘ –

+0

Sie bitte meine anderen Fragen auch beantworten. Sie wollen wahrscheinlich nicht zu nisten '$ (document) .ready' innen' $ (document.on ('Seite: change'', aber das sollte keine Auswirkungen auf link_to haben – Leito

Antwort

0

Meine erste Vermutung ist, dass Ihre Jquery die Verbindung stört. Stellen Sie sicher, dass Sie keine "prevent_default" -Klausel in Ihrer js-Datei haben, die auf diesen Link abzielt oder dass das normale JavaScript daran gehindert wird, ausgeführt zu werden, wenn auf den Link geklickt wird. Stellen Sie sicher, dass Ihr application.js noch Datei hat:

//= require jquery 
//= require jquery_ujs 

Schließlich, stellen Sie sicher, dass in Ihrem Layout/application.html.erb Datei, die Sie noch haben:

<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %> 

Sobald dies geschehen ist, laden Sie die Seite und überprüfen Sie Ihre Entwicklerkonsole, um sicherzustellen, dass ein Datenbestätigungsattribut im Link-Tag vorhanden ist:

<a href="/articles/1" data-confirm="Are you sure?" data-method="delete"> 
+0

ja, ich habe // = require jquery // = erfordern jquery_ujs in meiner application.js und ich habe '<% = javascript_include_tag' Anwendung ',' Data-turbolinks-track '=> wahr%>' in meinem Layout application.html –

+0

Überprüfen Sie, ob es funktioniert, wenn Sie turbolinks aus Ihrer Anwendung entfernen. Dies ist fast immer das Problem und js Code hält von der Ausführung, da eine neue Seite ist nicht, sondern nur verändert geladen! – bkunzi01

+0

wenn ich entfernen ‚<% = javascript_include_tag‚Anwendung‘,‘ Daten-turbolinks -track '=> true%>' von der a pp es werden keine alarme angezeigt und es speichert das update direkt !! –