2016-02-03 4 views
21

次のコードはコントローラで使用できますが、コンソールでは使用できません(両方の開発環境)。私はRails 5.0.0.beta2を使用しています。ActionCable.server.broadcast from console

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>"} 
=> [] 

答えて

42

開発モードでのActionCableのデフォルトの動作は、同じプロセス内でのみ動作するasyncアダプタを使用することです。プロセス間ブロードキャストの場合は、redisアダプターに切り替える必要があります。ローカルホスト上のRedisへの接続エラー:6379(ERRNO :: ECONNREFUSED) `私のMac上の

開発モードでのRedisを有効にするには、あなたがconfig/cable.ymlを編集する必要があります:` Redisの:: CannotConnectErrorを持つ

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

production: *redis 
development: *redis 
test: *redis 
+0

イム。 : –

+1

@ YakobUbaidiあなたのレールサーバと同時にRedisの最新バージョンがインストールされ、稼働していますか? – sam

+2

'brew install redis'を試してください:' redis-server/usr/local/etc/redis.conf' – sekrett