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.