I can use the following code in the controller but not in the console (both development environment). I'm using Rails 5.0.0.beta2.
ActionCable.server.broadcast 'example_channel', message: '<p>Test</p>'
The console:
>> ActionCable.server.broadcast 'example_channel', message: '<p>Test</p>'
[ActionCable] Broadcasting to example_channel: {:message=>"<p>Test</p>"}
=> []
How can I use it in the console?
ActionCable is backed by Redis Pub/Sub. Redis is one incredible piece of engineering which we use extensively in our Ably infrastructure.
1 What is Action Cable? Action Cable seamlessly integrates WebSockets with the rest of your Rails application. It allows for real-time features to be written in Ruby in the same style and form as the rest of your Rails application, while still being performant and scalable.
Testing Action Cable To test this connection class, we can use connect method to simulate a client server connection and then test the state of connection is as expected. The connection object is available in the test.
They are an API that provides “socket” persistent connections between a server and a client. This enables both server and client to send data at any time.
The default behavior for ActionCable in development mode is to use the async
adapter, which operates within the same process only. For inter-process broadcasting, you will need to switch to the redis
adapter.
To enable redis in development mode, you will need to edit config/cable.yml
:
redis: &redis
adapter: redis
url: redis://localhost:6379/1
production: *redis
development: *redis
test: *redis
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With