Module: ActionCable::Helpers::ActionCableHelper

Defined in:
actioncable/lib/action_cable/helpers/action_cable_helper.rb

Instance Method Summary collapse

Instance Method Details

#action_cable_meta_tagObject

Возвращает мета-тег “action-cable-url” со значением URL-адреса, указанного в вашей конфигурации. Убедитесь, что он располагается выше вашего тега JavaScript:

<head>
  <%= action_cable_meta_tag %>
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
</head>

Затем этот параметр используется Action Cable для определения URL-адреса вашего сервера WebSocket. Затем ваш CoffeeScript может подключиться к серверу без необходимости указывать URL-адрес напрямую:

#= require cable
@App = {}
App.cable = Cable.createConsumer()

Обязательно укажите правильную локацию сервера в каждом из файлов конфигурации environment:

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" />

29
30
31
32
33
34
35
# File 'actioncable/lib/action_cable/helpers/action_cable_helper.rb', line 29

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