Ruby on Rails 3 - 公开在线聊天

时间:2011-08-23 05:41:50

标签: ruby-on-rails ruby ruby-on-rails-3 chat ruby-on-rails-plugins

我想使用rails 3创建一个公共实时聊天应用程序。

我在rails 2上找到了一些示例。任何人都可以告诉您一个使用rails 3开发实时聊天应用程序的好示例/教程。

3 个答案:

答案 0 :(得分:7)

我在rails 3应用程序中尝试实现公共和私人聊天系统时遇到了几个障碍。我看着faye,juggernaut,node.js等等。最后,在尝试了几种方法之后,我能够实现一个效果很好的系统:

1)我开始按照Devin M提到的Railscast 260中的faye消息视频指南开始。我能够快速设置一个持久消息的rails应用程序,以及一个将这些新消息推出的聊天服务器对所有的客户。最大的问题是安全问题。我无法控制对聊天服务器的访问。

2)这导致我在Railscast 316使用Ryan Bates的私人酒吧宝石 - 这有助于通过验证客户的签名来保护您的faye服务器。这有助于保护服务器,但我遇到了尝试使用我的身份验证系统验证实际用户并添加“谁在线”功能的问题。我在私人酒吧的黑客工作,在验证时传递用户详细信息,但无法使事情顺利进行。

3)最后,我决定将聊天服务器移至pusher - 一个用于实时应用的托管API。我在how to create a real-time survey in rails上按照本教程来了解如何进行设置。虽然不直接关于设置聊天系统 - 本教程以及我已经从上面的Railscasts设置的内容(以及易于阅读的推文文档),允许我快速设置安全的rails 3聊天应用程序 - 完成身份验证,'谁在线',状态信息等等。最好的部分是......我不需要处理聊天服务器的管理。

希望这可以帮助某些人完成与我相同的过程。

答案 1 :(得分:6)

你可以使用Railscast 260获得基础知识,我已经假定Rails / Ruby的背景知识和jQuery / JavaScript的一些知识。截屏视频有一个text version heresource is here,它也在GitHub上。

答案 2 :(得分:3)

我首先查看Ilya Grigorik的em-synchony + examples并查看Hector私人聊天服务器gem的代码。