ActionCable.server.broadcast 来自控制台

ActionCable.server.broadcast from the console

我可以在控制器中使用以下代码,但不能在控制台(两个开发环境)中使用。我正在使用 Rails 5.0.0.beta2.

ActionCable.server.broadcast 'example_channel', message: '<p>Test</p>'

控制台:

>> ActionCable.server.broadcast 'example_channel', message: '<p>Test</p>'
[ActionCable] Broadcasting to example_channel: {:message=>"<p>Test</p>"}
=> []

如何在控制台中使用它?

A​​ctionCable 在开发模式下的默认行为是使用 async 适配器,它仅在同一进程中运行。对于进程间广播,您需要切换到 redis 适配器。

要在开发模式下启用 redis,您需要编辑 config/cable.yml:

redis: &redis
  adapter: redis
  url: redis://localhost:6379/1

production: *redis
development: *redis
test: *redis