ruby-on-rails - 使用 channel 推送的 websocket rails

标签 ruby-on-rails gem websocket push

我正在尝试在 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/

相关文章:

ruby - bundle 安装从错误的目录运行

ruby-on-rails - 是否有用于从 Web 界面将数据映射和导入 Rails Web 应用程序的 gem?

ruby-on-rails - 葡萄实体如何使用铁路线路?

ruby-on-rails - 为什么 libnotify 停止显示 Rspec 通知?

javascript - jquery 禁用表单和链接中的提交/单击按钮

ruby-on-rails - 如何预览 "Bundle Update"将进行的更新?

python - websocket._exceptions.WebSocketBadStatusException : Handshake status 404 NOT FOUND

node.js - express-ws如何定期检查自定义事件并自动采取行动

node.js - 单页应用程序,http 或 websockets,connect/express 是干什么用的?

ruby-on-rails - rails : how to RESTful query models through associations?