Ruby on rails 使用通道推送卷筒导轨

Ruby on rails 使用通道推送卷筒导轨,ruby-on-rails,gem,websocket,push,Ruby On Rails,Gem,Websocket,Push,我试图在ROR应用程序中使用websocket rails gem的推送机制 我基本上完成了以下工作 my application.js //= require jquery //= require jquery_ujs //= require websocket_rails/main $(function(){ // connect to server like normal var dispatcher = new WebSocketRails('localhost:3000/w

我试图在ROR应用程序中使用websocket rails gem的推送机制

我基本上完成了以下工作

my 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)
但浏览器控制台中没有打印任何内容

我是否错过了一些设置配置


谢谢

我也遇到了这个。报告说:

从Rails应用程序中的任何位置向频道广播。现有控制器、模型、后台作业或新的WebsocketRails控制器

i、 没有提到控制台


根据我的经验,它的工作原理与控制器所描述的完全相同。

我知道这个问题已经很老了,但是项目有一些更新,所以对于将来来到这里的每个人来说,现在使用实例间事件可以从任何地方触发,甚至从rails控制台

将其添加到您的
config/initializers/websocket\u rails.rb

WebsocketRails.setup do |config|
  config.synchronize = true
end

这是真的,我也有同样的问题,当我把代码放在控制器中时,它工作得很好。我不能在模型上使用它吗?