我正在寻找创建一个Rails应用程序,用户可以在该应用程序中对某个主题进行投票,并将他们的选择保存到数据库中。在此之后,结果页面将显示实时结果。这意味着,当其他人投票时,图表或简单文本数据将使用新的投票或计时器进行更新。
我确信这是可能的,但我不确定如何开始实现这一点。有没有我可以轻易插入的宝石,或者我是否必须使用实时流媒体或其他类似的东西来构建? 谢谢!
答案 0 :(得分:1)
简单的解决方案是实现一个动作,它将在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页面上的示例。您需要做的就是每次有新的投票时向所有连接的会话发送消息。或者限制这个过程,以防你每秒需要多少票。