Подтвердить что ты не робот

ActionCable на субдомене вместо subdir

Я пытаюсь заставить ActionCable работать над субдоменом.

проблема в том, что как только я меняю следующую строку

config.action_cable.mount_path = '/'

Приложение больше не работает. Но ActionCable работает на субдомене. Есть ли какое-либо решение для запуска ActionCable на субдомене без поддерева вроде /cable?

4b9b3361

Ответ 1

Похоже, вам нужно запустить его как автономный сервер, если вы не используете сервер приложений с суб-uri: https://github.com/rails/rails/tree/master/actioncable#consumer-configuration

Вы можете указать URL-адрес кабеля следующим образом:

config.action_cable.url = 'ws://cable.example.com:28080'

Кабельный сервер отделен от вашего обычного сервера приложений. Это приложение Rack, но это его собственное приложение Rack. Рекомендуемая базовая настройка следующая:

# cable/config.ru
require_relative '../config/environment'
Rails.application.eager_load!

run ActionCable.server

Затем вы запускаете сервер, используя binstub в bin/cable ala:

#!/bin/bash
bundle exec puma -p 28080 cable/config.ru

https://github.com/rails/rails/tree/master/actioncable#standalone