Ruby on Rails和Node.js

我想知道如何将node.js集成到rails应用程序(用于学习目的)。

基于Michael Hartl教程( http://railstutorial.org/ ),我实现了一个带有轨道的基本的twitter克隆,并且想要实时获取用户微博,而不使用彗星或者主宰。 (该应用程序托pipe在heroku上)

目前,我只看到node.js框架( http://howtonode.org/grasshopper-shoutbox )的例子,但没有任何合并与Rails应用程序的ruby。 如果有人知道一个好的教程,或者给我一些启动点来完成这个任务,我会非常感激。

谢谢!

正如Shripad所说,我会考虑尝试用Node本身来构build你的应用程序。 如果您有使用Rails的经验, Geddy会感到熟悉(无论如何入门)。 注意:我没有使用Geddy的真实世界的应用程序的经验,但它是迄今为止我见过的最好的Rails框架。 对于持久性,您可以像使用Rails一样使用SQLite,PostgreSQL或CouchDB。 我想过如何在没有任何中介的情况下在Rails应用程序和Node之间进行通信。 在我们的工作项目中,我们使用Redis作为Rails和Node之间的中介。 Rails将消息发布给Redis,Node从Redis中获取消息。 我无法find一个好的方法或示例项目,以避免个人项目中的中间通信层,所以我去了相同的设置。 好消息是Node Redis模块已经写好,一旦安装了所有的东西,就很容易testing出消息的来回传递。

如果您正在考虑创build实时应用程序,请单独使用node.js (高并发性)。 你真的不能将node.js集成到rails应用程序中。 但是,您可以在另一个端口上configuration节点服务器,并configurationapi和websockets,然后让您的rails应用程序与该服务器通信。 这是PITA做这样的设置。 您宁愿在节点本身构build整个Web应用程序。 但是,如果你想要什么轨道具体不使用剑圣,那么我会build议http://www.pusherapp.com

使用Pusher非常容易地设置服务器推送。

它已经做到了。 不是真正的NodeJs,而是一个构build在顶层的框架。 亚达,亚达,亚达…检查了这一点: https : //github.com/1602/express-on-railway

**沿着你的rails服务器运行节点**

如果您想要将您的Rails应用程序与Node进行整合,则可以使用node-rails gem

Node Rails将使您能够在您的Rails应用程序旁边运行Node服务器,并拥有两个共享身份validationNodeRails假定您正在使用Devise进行身份validation。 Node-Rails使用[redis gem] [2],所以你需要安装。 了解更多关于在Rails上使用npm包的信息。