Ruby on Rails ActionCable可以在本地工作,但不能在heroku上工作

时间:2019-01-14 20:19:45

标签: ruby-on-rails ruby heroku

我知道有许多与此主题相关的类似问题,但是我有一个似乎无法找到先前答案的问题。 我的Ruby on Rails代码一点也不出色,但是我遵循了ActionCable的教程,其中包括部署到Heroku。我很容易设法使其在本地计算机(localhost:3000)上完美运行,但是当我部署到Heroku时,ActionCable功能不起作用。

在日志中,没有错误消息,我在浏览器中打开了网络面板,并比较了本地网站和Heroku网站的结果,它们的编码和外观相同。在我的本地网络窗格中,重新加载页面时,有一个名为“电缆”的请求。我认为这是对ActionCable的请求,因为它没有出现在我的Heroku网站的网络窗格中。

我在Heroku网站上安装了Redis-to-go,下面是一些代码,希望对您有所帮助。 (该网站地址已更改为我的网站,可以在SO上发布)

  

production.rb

Rails.application.configure do
  ActionCable.server.config.disable_request_forgery_protection = true
  config.action_cable.url = "wss://my-website.herokuapp.com/cable"
  config.web_socket_server_url = "wss://my-website.herokuapp.com/cable"
  config.action_cable.allowed_request_origins = ['https://my-website.herokuapp.com', 'http://my-website.herokuapp.com']
  ...
end
  

development.rb

Rails.application.configure do
  config.action_cable.url = "ws://localhost:3000/cable"
  ...
end
  

cable.yml

development:
  adapter: async

test:
  adapter: async

production:
  adapter: redis
  url: redis://redistogo:3d45015b67ecc78822bc97ba8124efb7@spinyfin.redistogo.com:10128/

如果您需要更多文件或信息,请询问。希望您能提供帮助。

0 个答案:

没有答案