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

时间:2014-02-16 09:03:07

标签: ruby-on-rails ruby live-streaming

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

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

1 个答案:

答案 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页面上的示例。您需要做的就是每次有新的投票时向所有连接的会话发送消息。或者限制这个过程,以防你每秒需要多少票。