ruby-on-rails – 如何使用Faye仅通知页面上的特定用户?
发布时间:2020-12-17 02:17:18 所属栏目:百科 来源:网络整理
导读:我有个问题.我正在使用faye,在此页面上为所有客户更新部分页面.但我在挣扎.如何仅为特定用户更新页面的一部分.就我而言,我想通知用户有关新消息的信息.但我不知道该怎么做.我只知道如何在特定页面上通知所有人.例如,在我的帖子模型中,我创建了js % broadcast
我有个问题.我正在使用faye,在此页面上为所有客户更新部分页面.但我在挣扎.如何仅为特定用户更新页面的一部分.就我而言,我想通知用户有关新消息的信息.但我不知道该怎么做.我只知道如何在特定页面上通知所有人.例如,在我的帖子模型中,我创建了js
<% broadcast "/posts/new" do %> $('#posts_list').prepend('<%= escape_javascript(render(@post)) %>'); $("#posts_list li:first").hide().fadeIn("slow"); <% end %> 和广播功能是 def broadcast(channel,&block) message = {:channel => channel,:data => capture(&block)} uri = URI.parse("http://localhost:9292/faye") Net::HTTP.post_form(uri,:message => message.to_json) end 我也有一个faye客户端和代码 $(function() { var faye = new Faye.Client('http://localhost:9292/faye'); faye.subscribe("/posts/new",function(data){ eval(data); }); }); (这一切都是根据railscast完成的.??) 我需要以什么方式思考?提前致谢! 解决方法
我找到了解决这个问题的方法.宝石私人酒吧(https://github.com/ryanb/private_pub)
帮助做到这一点. 每个用户都有布局 <%= subscribe_to "/messages/#{current_user.id}" %> 当有人发送消息时在action.js(在我的情况下 – create.js)我这样做了 <% publish_to "/messages/#{@message.receiver.id}" do %> ...some js code,in my case jquery notification plugin usage <% end %> 这对我很有用. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |