我正在尝试在 ROR 应用程序中使用 websocket-rails gem 使用推送机制。
我基本上做了以下。
我的 application.js
//= require jquery
//= require jquery_ujs
//= require websocket_rails/main
$(function(){
// connect to server like normal
var dispatcher = new WebSocketRails('localhost:3000/websocket');
// subscribe to the channel
var channel = dispatcher.subscribe('products');
// bind to a channel event
channel.bind('new', function(data) {
console.log('channel event received: ' + data);
});
});
然后我在端口 3000 启动了瘦服务器
然后我从 rails 控制台,输入以下命令。
WebsocketRails[:products].trigger(:new, Product.last)
但是浏览器控制台中没有打印任何内容。
我错过了一些设置配置吗?
谢谢
最佳答案
我也遇到过这个。 documentation说:
从 Rails 应用程序内的任何位置广播到 channel 。现有 Controller 、模型、后台作业或新的 WebsocketRails Controller 。
即没有提到控制台。
根据我的经验,它的工作原理与 Controller 中描述的完全一样。
关于ruby-on-rails - 使用 channel 推送的 websocket rails ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18448500/