我忙于创建一个协作应用程序,其中2个用户可以同时编辑相同的数据,而不需要完全刷新HTML页面(这是一张巨大的表格,就像一张Excel表格一样)。什么是最好的Rails 4 ajax Push引擎?
什么是Rails 4中的最佳选择我必须将修改从用户A推送到用户B?
最终目标应该是获得一个自动更新表,就像google电子表格中的表一样! :-) 我没有找到最近(> 2012年)这个问题的答案...是否有一个gem或插件,在服务器端启动一个自动过程?用户订阅的管理方式如何?
我忙于创建一个协作应用程序,其中2个用户可以同时编辑相同的数据,而不需要完全刷新HTML页面(这是一张巨大的表格,就像一张Excel表格一样)。什么是最好的Rails 4 ajax Push引擎?
什么是Rails 4中的最佳选择我必须将修改从用户A推送到用户B?
最终目标应该是获得一个自动更新表,就像google电子表格中的表一样! :-) 我没有找到最近(> 2012年)这个问题的答案...是否有一个gem或插件,在服务器端启动一个自动过程?用户订阅的管理方式如何?
你一定要使用websocket-rails
宝石,我个人会将它用于我从头开始创建的辩论网站。
它正在使用,如名称所示,Websockets。这项技术越来越多地被使用,并且现在与大多数浏览器兼容,它确实具有很好的兼容性。
websocket-rails
有很多文档,我在使用它的高级用法时也遇到了一些麻烦,并且我的幸福直接在他们的irc频道上联系他们的开发者,他们非常好。
您的需求,我认为的WebSockets比阿贾克斯更方便,为您的需求,阿贾克斯需要向服务器每个x第二,如果有新的东西来刷新。这将耗尽你的服务器,但是当使用网络套接字时,服务器将直接向你发送你需要的新数据。你可以找到更多信息的this choice on this SO answer.
它处理私人渠道,如果数据交换不必是公开为好,websocket-rails
肯定是要走的路! 你可以找到it's repository here.
我会尽量回答你的问题那么简单,我可以:去年
结束时,我创建了一个需要太多的互动,并在客户端实时更新Web应用程序。 基本上像通知和实时更新的Facebook墙。
我通过使用Private_Pub这是一个宝石创建基于Faye实现这一点,由Ryan贝茨的RailstCasts 有教程和使用本作实时更新的例子笔者。
但是我不建议你使用它,因为你最终会做很多肮脏的黑客攻击和补丁,以确保服务正在运行并确保连接未关闭等。
我的建议是使用Rails堆栈顶端的前端JS。
您可以使用Angular,Ember,Backbone和Meteor,它们都可以帮助您在安全的一面实现该功能。 退房RailsCasts从瑞安贝茨这些框架:
http://railscasts.com/episodes/408-ember-part-1
http://railscasts.com/episodes/351-a-look-at-meteor
我很肯定你不能使用meteor,它不是前端堆栈,afaik没有rails插件可以让你插入流星的websocket后端API,只要打开任何流星应用程序的萤火虫,你会明白我的意思 – bbozo
无人使用的ActionController :: Live和服务器发送Envents(SSE)?这似乎是一个更好的解决方案,不是吗? –