web-dev-qa-db-ja.com

コンソールからのActionCable.server.broadcast

コントローラーでは次のコードを使用できますが、コンソールでは使用できません(両方の開発環境)。私は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>"}
=> []

コンソールでどのように使用できますか?

31
wintermeyer

開発モードでのActionCableのデフォルトの動作は、同じプロセス内でのみ動作するasyncアダプターを使用することです。プロセス間ブロードキャストの場合、redisアダプターに切り替える必要があります。

開発モードでredisを有効にするには、config/cable.ymlを編集する必要があります。

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

production: *redis
development: *redis
test: *redis
65
Sam Pohlenz