Rails 投票系统 - 查看实时结果



我希望创建一个Rails应用程序,例如,用户可以在其中对一个主题进行投票,他们的选择将被保存到数据库中。在此之后,将显示一个结果页面,其中包含实时结果。这意味着当其他人投票时,图形或简单文本数据将使用新投票或计时器进行更新。

我确信这是可能的,但我不确定如何开始实施。是否有任何我可以轻松放入的宝石,或者我是否必须使用实时流媒体或其他类似的东西来构建一些东西?谢谢!

简单的解决方案是实现一个操作,该操作将以 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页面上的示例。您需要做的就是在每次有新的投票时向所有连接的会话发送消息。或者限制该过程,以防每秒必须获得大量投票。

相关内容

  • 没有找到相关文章

最新更新