tutorial room real rails cable active ruby-on-rails actioncable

ruby-on-rails - room - ruby on rails websocket tutorial



ActionCable no recibe datos (1)

Cambiar el adaptador de cable de async a redis en config/cable.yml arreglé para mí. No estoy seguro de por qué async no estaba funcionando.

Creé lo siguiente usando ActionCable pero no puedo recibir ningún dato que se esté transmitiendo.

Canal de comentarios :

class CommentsChannel < ApplicationCable::Channel def subscribed comment = Comment.find(params[:id]) stream_for comment end end

JavaScript :

var cable = Cable.createConsumer(''ws://localhost:3000/cable''); var subscription = cable.subscriptions.create({ channel: "CommentsChannel", id: 1 },{ received: function(data) { console.log("Received data") } });

Se conecta bien y puedo ver lo siguiente en los registros:

CommentsChannel is streaming from comments:Z2lkOi8vdHJhZGUtc2hvdy9FdmVudC8x

Entonces transmito a esa transmisión:

ActionCable.server.broadcast "comments:Z2lkOi8vdHJhZGUtc2hvdy9FdmVudC8x", { test: ''123'' }

El problema es que la función received nunca se llama. ¿Estoy haciendo algo mal?

Nota: estoy usando el paquete actioncable npm para conectar desde una aplicación BackboneJS.