如何使用node.js + Ruby on Rails实现实时前端更新?

时间:2010-05-14 18:01:00

标签: ruby-on-rails real-time node.js

使用node.js在rails上的ruby中实现实时更新的最佳方法是什么?很高兴听到真实的例子或你对替代解决方案的看法。

3 个答案:

答案 0 :(得分:4)

我使用节点与rails应用聊天。

我这样做的方法是设置一个代理我的Rails应用程序和我的节点应用程序的nginx前端。

这使您可以绕过same origin policy并进行交叉沟通。

这是我的nginx.conf的片段

   location /chat_service {
      rewrite      /chat_service/(.+) /$1 break;
      proxy_pass http://localhost:9000/;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
    }

这意味着我可以从我的rails应用程序渲染html页面并与节点应用程序通信,而不必使用像JSONP这样讨厌的黑客。

完整的示例超出了本答案的范围,但如果前面有一个好的代理,您可以让他们一起愉快地工作。

答案 1 :(得分:-1)

这样做的方法是使用像jquery这样的javascript框架。一旦rails呈现视图并将html传递给客户端的浏览器,javascript就可以接管更新并从node.js请求信息,因为节点可以处理数千个并发连接。

您可以将此方法用于简单的ajax调用,或者形成更复杂的彗星推送更新。

答案 2 :(得分:-1)

这不是那么简单,我害怕......

因为我们得到了same origin policy 在这种情况下,页面(由rails呈现)和更新服务器(节点)必须位于同一服务器上。端口

我仍然不知道该怎么做。