2016-03-21 6 views
2

Ich erstelle ein Wahlsystem mit Ajax und der Vote Counter würde das Ergebnis dynamisch zeigen. Ich kann die Abstimmung erstellen und die Abstimmung mit Ajax erfolgreich löschen. Ich konnte den Abstimmungszähler jedoch nicht dynamisch aktualisieren. Ich habe viele Versuche und Fehler gemacht und keine Optionen mehr.Vote Counter Aktualisierung mit Ajax Erfolg

<div id="counter"><%= @micropost.thumbups.count %></div>, in einem Div mit ID, Zähler, zeigt die richtige Anzahl der Stimmen auf Microports/Show-Seite.

Auf create.js.erb,

$("#ups_form").html("<%= escape_javascript(render('microposts/down_form')) %>") 

$("#counter").html('<%= @micropost.thumbups.count %>') 

Die zweite Linie soll den Zähler machen Anzahl dynamisch zu aktualisieren, nachdem Ajax die Datenbank erfolgreich aktualisiert hat. Aber es hat nicht funktioniert.

Ich habe versucht, mit den folgenden:

  1. $("#counter").html('hello'), "Hallo" zeigen würde. Das bedeutet, CSS ist in Ordnung.
  2. $("#counter").html('<%=escape_javascript @micropost.thumbups.count %>') hat nicht funktioniert.
  3. $("#counter").html("<%= escape_javascript(render('microposts/count')) %>") nach einer Zählung Teil von <%= @micropost.thumbups.count %>
  4. machen ... weiß nicht, was anderes zu versuchen ...
+0

Ruby 2.1, Schienen 4.2. Vielen Dank! – Denny

Antwort

0

diesen Code Versuchen:

$("#counter").html(''); 
$("#counter").html('<%= j @micropost.thumbups.count %>'); 
+1

'j' ist ein Alias ​​für' escape_javascript'. –

+0

Es funktioniert nicht. Irgendwelche anderen Ideen? Danke fürs Helfen! – Denny

0

Ihr Verein ist wahrscheinlich bereits im Speicher geladen. Versuchen Sie dies:

$("#counter").html('<%= @micropost.thumbups(:reload).count %>') 
+0

Es funktioniert nicht. Weder $ ("# counter") .html ('<% = @ micropost.thumbups.count (: reload)%>'), noch $ ("# counter"). Html ('<% = @micropost (: reload) .thumbups.count%> '). Irgendwelche anderen Ideen? Danke fürs Helfen! – Denny

+0

Sind Sie sicher, dass der thumbsup gespeichert wurde? Führen Sie in Ihrer Rails-Konsole 'Thumbups.count' aus, um zu sehen, wie viele es sind. Versuchen Sie dann, einen Daumen hoch zu speichern. Führen Sie dann 'Thumbups.count' erneut aus. Bist du sicher, dass es ging? – MrDanA

+0

Ja. Ich bin mir ziemlich sicher, dass der Eintrag von Thumbups in meiner PostgreSQL 9.3 Datenbank mit pgAdmin III angezeigt wird. Außerdem kann der Zähler die richtige Anzahl von Thumbups mit

<%= @micropost.thumbups.count %>
in Microposts anzeigen, wenn ich den Browser aktualisiere. Ich möchte jedoch, dass der Zähler neue Einträge von Thumbups anzeigt, ohne den Browser zu aktualisieren. Darum geht es Ajax, oder? – Denny