我正在尝试让ActionCable在子域上工作。
问题是,只要我改变以下行config.action_cable.mount_path = '/'
该应用程序无法正常运行。但ActionCable适用于子域。是否有任何解决方案在子域上运行ActionCable而没有像/cable
?
答案 0 :(得分:3)
如果您未使用带有子uri的应用内服务器,您似乎需要将其作为独立服务器运行:https://github.com/rails/rails/tree/master/actioncable#consumer-configuration
您可以像这样指定电缆网址:
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
然后使用bin / cable ala中的binstub启动服务器:
#!/bin/bash
bundle exec puma -p 28080 cable/config.ru
https://github.com/rails/rails/tree/master/actioncable#standalone