2013-03-08 7 views
0

Моя проблема связана с отключением события Faye. Я могу легко подписаться на канал из java-скрипта, и я также могу обрабатывать /meta/subscribe и /meta/connect. Но я хочу, чтобы что-то вроде кнопки в моем файле html.erb и с помощью этого я хочу отключить или отказаться от подписки на канал. Я хочу знать, как я запустить ява-скрипт для отключения от канала, как мы делаем при подключении к каналу, как указано ниже:Как вызвать событие отключения faye с помощью кнопки

$(function() { 
    var faye = new Faye.Client('http://localhost:9292/faye'); 
    faye.subscribe("/messages/new", function(data) { 
    eval(data); 
    }); 
}); 

просьба сообщить мне код контроллера или Java код сценария. Спасибо

ответ

2

Метод subscribe() возвращает объект Subscription, который можно отменить, если вы хотите удалить этот прослушиватель из канала.

Итак, что вы можете сделать, это сохранить объект в другой переменной с именем 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(); 
}); 

Так что в этом случае при нажатии на кнопку, которая имеет идентификатор button он отменит подписку. Я бы предложил проверить, были ли вы уже подписаны до отмены.

Источник для подписки/отмена: http://faye.jcoglan.com/browser/subscribing.html

 Смежные вопросы

  • Нет связанных вопросов^_^