2016-03-21 57 views
2

我使用Ajax創建投票系統,投票計數器會動態顯示結果。我可以創建投票併成功刪除Ajax投票。但是,我無法動態更新投票計數器。我做了很多嘗試和錯誤,沒有選擇。投票計數器使用Ajax成功更新

<div id="counter"><%= @micropost.thumbups.count %></div>,在與ID,櫃檯,在微博/顯示頁面正確顯示投票數的div。

在create.js.erb,

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

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

第二行應該是使計數器更新計數阿賈克斯已成功更新數據庫後動態。但它沒有奏效。

我試着用下面的:

  1. $("#counter").html('hello'), 「你好」 將顯示。這意味着CSS是好的。
  2. $("#counter").html('<%=escape_javascript @micropost.thumbups.count %>')沒有工作。
  3. $("#counter").html("<%= escape_javascript(render('microposts/count')) %>"),使得數部分的<%= @micropost.thumbups.count %>
  4. ...不知道什麼嘗試...
+0

Ruby 2.1,rails 4.2。謝謝! – Denny

回答

0

試試這個代碼後:

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

'j'是'escape_javascript'的別名。 –

+0

它不起作用。任何其他想法?感謝您的幫助! – Denny

0

您的聯繫可能已經加載到內存中。試試這個:

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

它不起作用。 $(「#counter」).html('<%= @ micropost.thumbups.count(:reload)%>')或$(「#counter」)。html('<%= @micropost(:reload ).thumbups.count%>')。任何其他想法?感謝您的幫助! – Denny

+0

你確定這個thumbsup保存了嗎?在你的Rails控制檯中,運行'Thumbups.count'來查看有多少。然後嘗試保存豎起大拇指。然後再次運行'Thumbups.count'。你確定它升起來了嗎? – MrDanA

+0

是的。我很確定thumbups的輸入顯示在我的PostgreSQL 9.3數據庫和pgAdmin III中。此外,如果我刷新瀏覽器,則計數器可以在微博/顯示頁面中顯示

<%= @micropost.thumbups.count %>
正確的縮略圖數量。但是,我希望計數器在不刷新瀏覽器的情況下顯示縮略圖的新條目。這就是Ajax的全部內容,不是嗎? – Denny