我希望创建一个Rails应用程序,例如,用户可以对一个主题进行投票,他们的选择将被保存到数据库中。在此之后,将显示一个带有活动结果的结果页面。这意味着当其他人投票时,图形或简单文本数据将使用新的投票或计时器进行更新。
我确信这是可能的,但我不知道如何开始实现这一点。有什么宝石我可以很容易地插进来吗?还是我必须用实时流或其他类似的东西来构建一些东西?谢谢!
发布于 2014-02-16 09:13:05
简单的解决方案是实现一个操作,该操作将返回json中的当前数据,然后使用时间间隔从javascript轮询它。
(function poll(){
setTimeout(function(){
$.ajax({ url: "your action url", success: function(data){
// update data here
}, dataType: "json"});
}, 30000);
})();
复杂的,但更有效的解决方案将是使用WebSockets
有一个活动的连接和数据通过它。
要用WebSockets
实现它,可以使用一些简单的东西,比如https://github.com/igrigorik/em-websocket
参见项目github页面上的示例。您所需要做的就是每次进行新的投票时都向所有连接的会话发送消息。或者节流,以防你每秒要投很多票。
https://stackoverflow.com/questions/21809229
复制相似问题