acts_as_chattable 0.2 beta

相比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. 好了,搞定, 打开你的浏览器开聊吧!

最后,非常欢迎您的任何反馈。

This entry was posted in 插件. Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.
  • LiD

    非常感谢,正好研究这个东西。
    我也一直在纳闷,在rails 2.0.2里面,Juggernaut为什么老出现问题呢,原来问题出在那个session_id上了(难道是session id太长,juggernaut不认了?最先32位的session id时是OK的),参考博主的代码将session id去掉,好了。呵呵,谢谢。

  • zbage

    在windows环境下没有反应,提示“no such channel”

    另:网站怎么要用代理才能上啊?

  • http://letrails.cn Yuanyi Zhang

    我这里可以呀,莫非你在国外,被GFW了?

    Windows的问题我尽快查查

  • liuwenju

    2.0.2下不能用,希望解决。谢谢。
    报错no such channel

  • sxlive

    下载了chatdemo,无论在WIN还是在LIUX下都是显示no such channel , 在rails2.0.2下,还需要设置什么吗?

无觅相关文章插件,快速提升流量