Sha256: 1fd16f7d8160ce043bb8f2f3ebfbb911c7d7d73baef3980d0e12d454d9fdef53

Contents?: true

Size: 1.62 KB

Versions: 27

Compression:

Stored size: 1.62 KB

Contents

# frozen_string_literal: true

# :markup: markdown

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-turbo-track' => 'reload' %>
      #     </head>
      #
      # This is then used by Action Cable to determine the URL of your WebSocket
      # server. Your JavaScript can then connect to the server without needing to
      # specify the URL directly:
      #
      #     import Cable from "@rails/actioncable"
      #     window.Cable = Cable
      #     window.App = {}
      #     App.cable = Cable.createConsumer()
      #
      # Make sure to specify the correct server location in each of your environment
      # config files:
      #
      #     config.action_cable.mount_path = "/cable123"
      #     <%= action_cable_meta_tag %> would render:
      #     => <meta name="action-cable-url" content="/cable123" />
      #
      #     config.action_cable.url = "ws://actioncable.com"
      #     <%= action_cable_meta_tag %> would render:
      #     => <meta name="action-cable-url" content="ws://actioncable.com" />
      #
      def action_cable_meta_tag
        tag "meta", name: "action-cable-url", content: (
          ActionCable.server.config.url ||
          ActionCable.server.config.mount_path ||
          raise("No Action Cable URL configured -- please configure this at config.action_cable.url")
        )
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 3 rubygems

Version Path
actioncable-8.0.2 lib/action_cable/helpers/action_cable_helper.rb
actioncable-next-0.2.0 lib/action_cable/helpers/action_cable_helper.rb
actioncable-next-0.1.2 lib/action_cable/helpers/action_cable_helper.rb
actioncable-8.0.1 lib/action_cable/helpers/action_cable_helper.rb
actioncable-8.0.0.1 lib/action_cable/helpers/action_cable_helper.rb
actioncable-7.2.2.1 lib/action_cable/helpers/action_cable_helper.rb
actioncable-8.0.0 lib/action_cable/helpers/action_cable_helper.rb
actioncable-7.2.2 lib/action_cable/helpers/action_cable_helper.rb
actioncable-8.0.0.rc2 lib/action_cable/helpers/action_cable_helper.rb
actioncable-7.2.1.2 lib/action_cable/helpers/action_cable_helper.rb
actioncable-8.0.0.rc1 lib/action_cable/helpers/action_cable_helper.rb
actioncable-7.2.1.1 lib/action_cable/helpers/action_cable_helper.rb
actioncable-next-0.1.1 lib/action_cable/helpers/action_cable_helper.rb
actioncable-next-0.1.0 lib/action_cable/helpers/action_cable_helper.rb
actioncable-8.0.0.beta1 lib/action_cable/helpers/action_cable_helper.rb
omg-actioncable-8.0.0.alpha9 lib/action_cable/helpers/action_cable_helper.rb
omg-actioncable-8.0.0.alpha8 lib/action_cable/helpers/action_cable_helper.rb
omg-actioncable-8.0.0.alpha7 lib/action_cable/helpers/action_cable_helper.rb
omg-actioncable-8.0.0.alpha4 lib/action_cable/helpers/action_cable_helper.rb
omg-actioncable-8.0.0.alpha3 lib/action_cable/helpers/action_cable_helper.rb