问题标签 [actioncable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
250 浏览

ruby-on-rails - ActionCable 将打开多少个数据库连接?

我一直在尝试 ActionCable,想知道它将尝试打开多少个数据库连接。是每个实例一个还是每个消费者连接一个?拥有 100k 个消费者并为每个消费者打开一个数据库连接会破坏数据库。

0 投票
3 回答
3514 浏览

nginx - 如何在生产中使用 Nginx 和 Unicorn 配置 ActionCable?

我最近将我的 Rails 项目从 Rails4 切换到 5.0.0.beta3 以使用很棒的 ActionCable。

我的 ActionCable 服务器在 unicorn 内运行。在开发中一切正常。在生产中我有

并且此消息在循环中一次又一次地重复。

我在 stackoverflow 上尝试了很多选项来处理这个问题,但没有任何帮助。我的 nginx 配置:

为了确保允许该请求,我在初始化程序中临时使用了此代码: ActionCable.server.config.disable_request_forgery_protection = true

我的cable.coffee档案

我的config/cable.yml档案

我在这个问题上没有那么有经验,所以任何帮助都会很棒。

0 投票
1 回答
9968 浏览

ruby-on-rails - ActionCable 未接收数据

我使用 ActionCable 创建了以下内容,但无法接收正在广播的任何数据。

评论频道

JavaScript

它连接良好,我可以在日志中看到以下内容:

然后我广播到那个流:

问题是该received函数从未被调用。难道我做错了什么?

注意:我使用actioncablenpm 包从 BackboneJS 应用程序连接。

0 投票
2 回答
1192 浏览

ruby-on-rails - Page-specific ActionCable

Curious what the best practice is for using ActionCable with Turbolinks, when you want to tie a channel with the page being viewed.

The classic example, of course, if you had an article with comments -- how can you stream only those comments related to the article in view and then subscribe to a different channel when viewing a different article?

I've played around with using turbolinks:loaded event on JQuery, but cant figure out what to link that to. Do I want to resubcribe every time? How is that possible without reloading the JS?

0 投票
2 回答
1944 浏览

ruby-on-rails - 如何在没有 JS 的情况下在 ActionCable 频道中接收数据?

我正在编写一个使用 WebSockets 与其他机器通信的 Rails 应用程序(此过程中没有浏览器和客户端逻辑)。我有一个频道:

要接收数据,我知道的唯一方法是 JavaScript 客户端:

我可以通过方法从 JS 调用服务器端方法@perform()

有什么办法可以省略 JS 部分并以某种方式直接处理传入的数据MachinesChannel

理想的情况是让handle_messages方法接受一个data参数并让这个方法调用传入的数据。

0 投票
1 回答
407 浏览

ruby-on-rails - Capybara Poltergeist ActionCable 测试

我编写了一个应用程序(使用 rails 5.0.0beta3),它使用ActionCable.
所以我想测试我写的东西。我在我的 Gemfile 中添加了poltergeist并将其捆绑并运行了一个示例。
Javascript 已正确执行。

但是当 sprocket 尝试添加 action_cable 时,它​​会失败:

我认为这来自这里的这条线

如果这不是测试动作电缆的方法,我应该怎么做?

0 投票
1 回答
974 浏览

ruby-on-rails - 动作电缆和离子

我在生产环境中有一个 Rails 应用程序,现在我需要开发一个移动应用程序作为同一系统的“前端”。

我们已经在构建 API,但是许多用户将能够同时更改数据,因此,实时集成会很好。

是否可以将 Action Cable 集成到 Ionic App 中?Action Cable + Ionic 还有其他好的替代品吗?

问候

0 投票
3 回答
2090 浏览

real-time - Rails 5 - Action Cable - 已连接用户列表

我从 Rails 5 和 Action Cable 开始,我想显示所有已连接注册用户的名称列表(类似于 facebook 的绿色圆圈)。

我设法得到了用户的名字,但现在我在想什么是存储它们的最佳方式。在节点中,我只是在服务器上的一个数组中,但据我所知,这在 ActionCable 中是不可能的。

最有效的方法是什么?将它们存储在数据库中(postgres、redis)?

0 投票
1 回答
1699 浏览

ruby-on-rails - Rails5 ActionCable 与对话聊天

根据 DHHs Rails5 ActionCable 聊天示例,我将创建另一个示例,其中包含对话和许多消息:

查看/对话/show.html.erb

查看/消息/_message.html.erb

我的问题是如何编写一个通道逻辑,将与其对话相关的每条消息都写入数据库:

首先,我在控制台上录制了一段对话和一条消息

之后我创建了一个工作

和一个频道

资产/javascripts/channels/conversation.coffee

如果我写:

频道/conversation_channel.rb

我明白了

看起来不错,但如果我在文本字段中输入一些文本并按回车,我会得到:

有任何想法吗?

0 投票
0 回答
928 浏览

javascript - 我收到此错误“未捕获的 SyntaxError:无法构造 'WebSocket':URL 'undefined' 无效。”

当我运行我的项目时,我在文件 action_cable.self 的这一行收到此错误,如果需要,请询问任何进一步的代码。