相比0.1,主要有以下改动:
- 集成Juggernaut,支持PUSH
- 去除YUI,使用script.aculo.us生成聊天窗口
- 解决juggernaut在Rails 2.0中工作不正常的Bug
- 不再需要修改user model
- 不再依赖users controller和current_user helper
- 打开新窗口时,自动设置焦点到输入框
- 已测试IE7,FF2,FF3 beta2,Safari 2
安装
./script/plugin install http://svn.elctech.com/svn/public/plugins/acts_as_chattable
示例
svn co http://svn.elctech.com/svn/public/demo/acts_as_chattable
使用
首先,我假设你已经拥有了一个名为‘User’的model,并且User model拥有一个‘name’方法,‘name’方法将返回这个user的名字,下面就让我们开始吧!
1. 安装 Juggernaut, acts_as_chattable 需要 Juggernaut 来实现 PUSH 机制.
script/plugin install svn://rubyforge.org//var/svn/juggernaut/trunk/juggernaut
2. 生成 chat_controller.
script/generate chattable
3. 在试图中渲染 chat
<%= render_chat(user, friends) %>
<%= buddy_list(friends) %>
user 就是当前登录的用户,它用于为当前用户创建一个 Juggernaut channel.
friends 必须为一个数组,他表示当前用户的朋友,可以使用has_many_friends插件来增加好友支持.
你也可以使用chat_link(friend) 来自定义 buddy list, chat_link会返回一个链接,使用这个链接,你可以打开一个新的聊天窗口.
详细文档在:
http://letrails.cn/plugins/acts_as_chattable/
4. 最后,别忘了启动 push_server.
sudo ruby script/push_server
ruby script/server
5. 好了,搞定, 打开你的浏览器开聊吧!
最后,非常欢迎您的任何反馈。
