Ruby on rails 如何从按钮按下调用faye disconnect事件
我的问题与费伊的断线事件有关。我可以轻松地从java脚本订阅频道,还可以处理Ruby on rails 如何从按钮按下调用faye disconnect事件,ruby-on-rails,ruby-on-rails-3,sockets,faye,private-pub,Ruby On Rails,Ruby On Rails 3,Sockets,Faye,Private Pub,我的问题与费伊的断线事件有关。我可以轻松地从java脚本订阅频道,还可以处理/meta/subscribe和/meta/connect。但是我想在我的html.erb文件中有一个按钮,并使用它来断开或取消订阅频道。我想知道如何启动java脚本以断开与频道的连接,就像订阅频道时一样,如下所示: $(function() { var faye = new Faye.Client('http://localhost:9292/faye'); faye.subscribe("/message
/meta/subscribe
和/meta/connect
。但是我想在我的html.erb文件中有一个按钮,并使用它来断开或取消订阅频道。我想知道如何启动java脚本以断开与频道的连接,就像订阅频道时一样,如下所示:
$(function() {
var faye = new Faye.Client('http://localhost:9292/faye');
faye.subscribe("/messages/new", function(data) {
eval(data);
});
});
请提供控制器代码或java脚本代码。谢谢subscribe()方法返回一个Subscription对象,如果要从频道中删除该侦听器,可以取消该对象
因此,您可以将对象存储在另一个名为subscription
的变量中,然后将subscripte方法返回的subscription对象存储在其中
var subscription;
$(function() {
var faye = new Faye.Client('http://localhost:9292/faye');
subscription = faye.subscribe("/messages/new", function(data) {
eval(data);
});
});
$('#button').click(function() {
subscription.cancel();
});
因此,在这种情况下,当您单击id为按钮的按钮时,它将取消订阅。
我建议在取消之前检查您是否已经订阅
订阅/取消的来源: