diff options
Diffstat (limited to 'actioncable/README.md')
-rw-r--r-- | actioncable/README.md | 28 |
1 files changed, 18 insertions, 10 deletions
diff --git a/actioncable/README.md b/actioncable/README.md index 823964343a..42fbc755ae 100644 --- a/actioncable/README.md +++ b/actioncable/README.md @@ -1,4 +1,4 @@ -# Action Cable –- Integrated WebSockets for Rails +# Action Cable – Integrated WebSockets for Rails 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 @@ -16,7 +16,7 @@ WebSockets open to your application if they use multiple browser tabs or devices The client of a WebSocket connection is called the consumer. Each consumer can in turn subscribe to multiple cable channels. Each channel encapsulates -a logical unit of work, similar to what a controller does in a regular MVC setup. For example, +a logical unit of work, similar to what a controller does in a regular MVC setup. For example, you could have a `ChatChannel` and a `AppearancesChannel`, and a consumer could be subscribed to either or to both of these channels. At the very least, a consumer should be subscribed to one channel. @@ -91,7 +91,7 @@ The client-side needs to setup a consumer instance of this connection. That's do #= require action_cable @App = {} -App.cable = Cable.createConsumer("ws://cable.example.com") +App.cable = ActionCable.createConsumer("ws://cable.example.com") ``` The ws://cable.example.com address must point to your set of Action Cable servers, and it @@ -364,7 +364,7 @@ Then add the following line to your layout before your JavaScript tag: And finally, create your consumer like so: ```coffeescript -App.cable = Cable.createConsumer() +App.cable = ActionCable.createConsumer() ``` For a full list of all configuration options, see the `ActionCable::Server::Configuration` class. @@ -395,20 +395,20 @@ bundle exec puma -p 28080 cable/config.ru ``` The above will start a cable server on port 28080. Remember to point your client-side setup against that using something like: -`App.cable = Cable.createConsumer("ws://basecamp.dev:28080")`. +`App.cable = ActionCable.createConsumer("ws://basecamp.dev:28080")`. ### In app -If you are using a threaded server like Puma or Thin, the current implementation of ActionCable can run side-along with your Rails application. For example, to listen for WebSocket requests on `/websocket`, match requests on that path: +If you are using a threaded server like Puma or Thin, the current implementation of ActionCable can run side-along with your Rails application. For example, to listen for WebSocket requests on `/cable`, match requests on that path: ```ruby # config/routes.rb Example::Application.routes.draw do - match "/websocket", :to => ActionCable.server, via: [:get, :post] + match "/cable", :to => ActionCable.server, via: [:get, :post] end ``` -You can use `App.cable = Cable.createConsumer("/websocket")` to connect to the cable server. +You can use `App.cable = ActionCable.createConsumer()` to connect to the cable server if `action_cable_meta_tag` is included in the layout. A custom path is specified as first argument to `createConsumer` (e.g. `App.cable = ActionCable.createConsumer("/websocket")`). For every instance of your server you create and for every worker your server spawns, you will also have a new instance of ActionCable, but the use of Redis keeps messages synced across connections. @@ -452,6 +452,14 @@ Action Cable is released under the MIT license: ## Support -Bug reports can be filed for the alpha development project here: +API documentation is at: -* https://github.com/rails/actioncable/issues +* http://api.rubyonrails.org + +Bug reports can be filed for the Ruby on Rails project here: + +* https://github.com/rails/rails/issues + +Feature requests should be discussed on the rails-core mailing list here: + +* https://groups.google.com/forum/?fromgroups#!forum/rubyonrails-core |