2016-06-11 3 views
0

Я создаю систему типа чата в Rails, и мне нужно определить, когда пользователь покидает канал (т.е. закрывает страницу) на сервере, поэтому я могу обновить список активных пользователи. Я искал документацию и примеры на GitHub и, похоже, не нашел ответа.Обнаружение отписки от Action Cable на смену страницы

Я использовал SignalR в прошлом, который вызывает событие отключения, но я не могу найти эквивалент (если он действительно существует) в Rails 5.

я могу увидеть примеры с отписался метода класс канала, но это никогда не срабатывает, если я перехожу на новую страницу или полностью закрываю браузер.

EDIT: Не уверен, что это помогает, но я не использую турбовинты.

ответ

1

Это была проблема с бета-версией 2 Rails 5. Я пробовал ее в последней версии - бета-версии 4, и теперь она запускается, как и ожидалось.

Вот вопрос GitHub для справки: https://github.com/rails/rails/pull/23715

0

Попробуйте

App.chatroom.disconnected() 
=> yourChannel stopped streaming from chatroom #rails terminal 

App.chatroom = App.cable.subscriptions.create({channel: 
    'yourChannel'}, { 

    disconnected: function() { 
     App.cable.subscriptions.remove(this) 
     this.perform('unsubscribed') #in the channel have a method 'unsubscibed' to update users 
    }, 
)} 
Смежные вопросы