子域上的ActionCable而不是subdir

时间:2017-08-21 13:39:14

标签: ruby-on-rails actioncable

我正在尝试让ActionCable在子域上工作。

问题是,只要我改变以下行

config.action_cable.mount_path = '/'

该应用程序无法正常运行。但ActionCable适用于子域。是否有任何解决方案在子域上运行ActionCable而没有像/cable

这样的子目录

1 个答案:

答案 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