2011-08-06 40 views
1

在導軌中有教程,教導如何在導軌中進行超級即時反饋。例如,有人對某篇文章發表評論,或者某人更新自己的狀態,即使沒有使用投票,也能立即獲得該狀態。就像在Twitter上發佈新推文或在Facebook上發佈新狀態更新一樣。我知道像一個開放的套接字,但從來沒有真正嘗試過。任何想法在導軌上執行即時超快速反饋

+0

http://railscasts.com/episodes/260-messaging-with-faye – rubish

+0

Faye的具有開放渠道。並非所有用戶都應該訪問所有即時提要,只有訂閱了該頻道的用戶應該有提要。就像高音喇叭一樣。雖然我不知道如何定製它到那個級別因爲我不是很好的JavaScript。 – Uchenna

回答

2

Twitter使用ajax輪詢來完成此操作。你可能不需要去使用諸如websocket之類的東西。

假設你正在使用jQuery,你可以通過看這裏開始:http://plugins.jquery.com/project/refresh

它定義了你的控制器,這使得只有要不斷更新內容上的操作一樣簡單,然後觸發刷新插件來請求該操作並填充容器。

在初始視圖:

<script> 
    $(function() { 
    $('#keep_me_updated').refresh('/statuses'); 
    }); 
</script> 
<div id="keep_me_updated"> 
</div> 

並且在狀態/索引:

<% Status.all.each do |status| %> 
    <%= status.body %> 
<% end %> 
+0

我還沒有嘗試過,但你回答聽起來很好,很容易...謝謝 – Uchenna