2012-02-26 38 views
0

我在Rails 3.1中構建了一個CoverItLive的克隆,並且想要自動更新評論流。我在視圖中使用了部分內容來顯示評論。有很多關於在Rails中使用UJS和AJAX機智形式或按鈕或鏈接的信息,但我找不到任何具體示例來說明我需要做什麼。

我假設.ajax()是最好的方法,但我從來沒有使用過它,並不確定在使用此特定功能時是否需要提供.js.erb文件?我可以讓控制器發回JSON回到客戶端並從那裏出發,或者在軌道上有更好的方法嗎?

這是我在想什麼,到目前爲止,基於我在另一個問題閱讀:

setInterval(function() { 
    $.ajax({ 
     type: 'GET', 
     url: ''<%= comments_path(:json) %>'', 
     data: { 
      data: "comments_data" 
     }, 
     cache: false, 
     success: function(result) { 
      if (result == "true"){ 
       alert("true"); 
      }else{ 
       alert("false"); 
      } 
     } 
    }); 
}, 3000); 

回答

0

作爲替代你應該考慮Private Pub,寶石,瑞安·貝茨已經把togeather。在railscasts上查看關於它的截屏視頻。

您的解決方案的麻煩現在經常會導致您的服務器不必要地被命中,我想這取決於您將查看此頁面的併發用戶數。

如果你不下去你的路線.js.erb可能只是有它這樣的財產以後:

$('#id_of_area_to_replace').html("<%= escape_javascript(render"comments/index") %>") 

這人換掉整個區域你可以只append新評論的底部該地區

+0

該gem看起來很有趣,雖然我通常猶豫不決,沒有一個很好的理由(除了方便之外)添加依賴關係,除非我花時間瞭解它們是如何工作的,但由於它是瑞恩,我至少可以指望它主要面向未來。我必須花時間觀看Railscast。 – Slick23 2012-02-26 19:19:39

相關問題