gpt4 book ai didi

ruby-on-rails - 来自控制台的 ActionCable.server.broadcast 总是返回 0

转载 作者:行者123 更新时间:2023-12-04 13:57:37 24 4
gpt4 key购买 nike

我正在尝试让 actioncable 工作,但是当我在 Rails 控制台中发出 ActionCable.server.broadcast “讨论”时,{asdf: true} 总是返回 0。

我在cable.yml 中运行并配置了redis 服务器。

任何关于我做错了什么的建议都会被采纳。

rails

DiscussionChannel is transmitting the subscription confirmation
DiscussionChannel is streaming from discussion_channel

Rails 控制台
Running via Spring preloader in process 17262
Loading development environment (Rails 5.2.2)
2.6.0 :001 > ActionCable.server.broadcast "discussion", {asdf: true}
[ActionCable] Broadcasting to discussion: {:asdf=>true}
=> 0

讨论 channel .rb
class DiscussionChannel < ApplicationCable::Channel
def subscribed
stream_from "discussion_channel"
end

def unsubscribed
end

end

讨论.咖啡
App.discussion = App.cable.subscriptions.create "DiscussionChannel",
connected: ->

disconnected: ->

received: (data) ->
console.log(data)

最佳答案

此问题可能与 this 重复和 this .
基本上 ActionCable 在开发模式下的默认行为是使用 async适配器,仅在同一进程中运行。
由于您的 rails 控制台和 rails 服务器运行在不同的进程中,调用 ActionCable::Server#broadcast默认情况下,在控制台中将不起作用。对于进程间广播,您需要更改 config/cable.yml 中的配置在开发中也使用Redis。

关于ruby-on-rails - 来自控制台的 ActionCable.server.broadcast 总是返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58582776/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com