Je peux utiliser le code suivant dans le contrôleur mais pas dans la console (les deux environnement de développement). J'utilise Rails 5.0.0.beta2.
ActionCable.server.broadcast 'example_channel', message: '<p>Test</p>'
La console:
>> ActionCable.server.broadcast 'example_channel', message: '<p>Test</p>'
[ActionCable] Broadcasting to example_channel: {:message=>"<p>Test</p>"}
=> []
Comment puis-je l'utiliser dans la console?
Le comportement par défaut d'ActionCable en mode développement consiste à utiliser l'adaptateur async
, qui fonctionne uniquement dans le même processus. Pour la diffusion interprocessus, vous devrez passer à l'adaptateur redis
.
Pour activer redis en mode développement, vous devrez éditer config/cable.yml
:
redis: &redis
adapter: redis
url: redis://localhost:6379/1
production: *redis
development: *redis
test: *redis