2013-10-03 27 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

相关问题