跳至內容 跳至搜尋
方法
A

實例公共方法

action_cable_meta_tag()

傳回元標記「action-cable-url」,其值為設定檔中指定的網址。請確定它在 JavaScript 標記之上

<head>
  <%= action_cable_meta_tag %>
  <%= javascript_include_tag 'application', 'data-turbo-track' => 'reload' %>
</head>

Action Cable 接著會使用它來判斷 WebSocket 伺服器的網址。您的 JavaScript 就能連線伺服器,不用直接指定網址。

import Cable from "@rails/actioncable"
window.Cable = Cable
window.App = {}
App.cable = Cable.createConsumer()

請在每個環境設定檔中指定正確的伺服器位置

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" />
# File actioncable/lib/action_cable/helpers/action_cable_helper.rb, line 36
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