27

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

基于 Michael Hartl 教程 ( http://railstutorial.org/ ),我实现了一个带有 rails 的基本 twitter 克隆,并希望在不使用 comet 或 juggernaut 的情况下实时获取用户微帖子。(应用程序托管在 heroku 上)

目前,我只看到带有 node.js 框架的示例(http://howtonode.org/grasshopper-shoutbox),但没有与 ruby​​ on rails 应用程序合并。如果有人知道一个好的教程或给我一些开始以完成此任务,我将非常感激。

谢谢!

4

4 回答 4

13

正如 Shripad 所说,我会考虑尝试使用 Node 自己构建您的应用程序。格迪如果您有使用 Rails 的经验,会感觉很熟悉(无论如何都要开始)。注意:我没有使用 Geddy 开发真实应用程序的经验,但它是迄今为止我见过的最好的类似 Rails 的框架。对于持久性,您可以使用 SQLite、PostgreSQL 或 CouchDB,就像使用 Rails 一样。我想过如何在没有任何中介的情况下在 Rails 应用程序和 Node 之间进行通信。在我们的工作项目中,我们使用 Redis 作为 Rails 和 Node 之间的中介。Rails 向 Redis 发布消息,Node 从 Redis 拉取消息。我找不到一个好的方法或示例项目来避免个人项目中的中间通信层,所以我使用了相同的设置。好消息是 Node Redis 模块是编写好的,一旦你安装了所有东西,就很容易测试来回推送消息。

于 2010-08-20T03:29:50.950 回答
4

如果您正在考虑创建实时应用程序,那么node.js单独使用(高并发)。您确实无法将 node.js 集成到 rails 应用程序中。但是,您可以在另一个端口上设置节点服务器,并配置 api 和 websockets,然后让您的 rails 应用程序与该服务器通信。做这种设置是 PITA。您宁愿在节点本身中构建整个 Web 应用程序。但是,如果您想要任何不使用 juggernaut 的特定轨道,那么我建议http://www.pusherapp.com

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

于 2010-08-20T02:35:22.280 回答
3

它已经做到了。不是真正的 NodeJs,而是建立在它之上的框架。雅达,雅达,雅达......看看这个:https ://github.com/1602/express-on-railway

于 2011-10-22T23:14:23.140 回答
0

**在 Rails 服务器旁边运行节点**

如果您想将 Rails 应用程序与 Node 集成,可以使用node-rails gem

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

于 2017-09-09T07:33:19.497 回答