aboutsummaryrefslogtreecommitdiffstats
path: root/lib/action_cable/helpers/action_cable_helper.rb
blob: b82751468ab0fd245b5cdbcfb042652e1afa1439 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
module ActionCable
  module Helpers
    module ActionCableHelper
      # Returns an "action-cable-url" meta tag with the value of the url specified in your
      # configuration. Ensure this is above your javascript tag:
      #
      #   <head>
      #     <%= action_cable_meta_tag %>
      #     <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
      #   </head>
      #
      # This is then used by ActionCable to determine the url of your websocket server.
      # Your CoffeeScript can then connect to the server without needing to specify the
      # url directly:
      #
      #   #= require cable
      #   @App = {}
      #   App.cable = Cable.createConsumer()
      #
      # Make sure to specify the correct server location in each of your environments
      # config file:
      #
      #   config.action_cable.url = "ws://example.com:28080"
      def action_cable_meta_tag
        tag "meta", name: "action-cable-url", content: Rails.application.config.action_cable.url
      end
    end
  end
end