2013-10-03 57 views
0

在我的導軌應用中,User有一個配置文件,此配置文件可公開訪問。我一直在尋找使用Pusher gem(https://github.com/pusher/pusher-gem)來使用我的應用程序即插即用的websocket使用。導軌和網絡套接字:需要某個功能的某些方向

基本上我想這樣做,以便如果用戶正在查看公共配置文件,並且該配置文件的所有者恰好更新該配置文件,則前端將更新爲新信息,並且用戶會在前端得到通知 - 關於更新。

從哪裏開始的任何幫助將是偉大的!

回答

1

對於每個公共配置文件都有唯一的頻道名稱,例如<user_name>-profile

每當用戶user_name的配置文件發生更新時,都會在用戶的頻道上觸發事件,並傳遞更新的數據。

data = update_profile() 
Pusher.trigger('<user_name>-profile', 'profile-updated', {:profile => data}) 

在運行的瀏覽器有聽只更新相關通道代碼中的個人資料頁:

var pusher = new Pusher(APP_KEY); 
var channel = pusher.subscribe('<user_name>-profile'); 
channel.bind('profile-updated', function(update) { 
    // Update UI to show new profile information 
    // Show something to indicate that an update has occurred 
}); 

這裏的一個問題是,你會即使無人觸發事件正在查看公共個人資料。如果您想解決該問題,則需要使用WebHooks並跟蹤配置文件頻道是否爲occupied,並且只有在該情況下才觸發該事件。

+0

非常感謝提示!我將進一步研究這一點! – dennismonsewicz

相關問題