【问题标题】:How do you configure ActionCable to work with Heroku?如何配置 ActionCable 以与 Heroku 一起使用?
【发布时间】:2016-11-23 02:42:23
【问题描述】:

我想配置 ActionCable 以在 Heroku 上工作。

我尝试将我的 cable.yml 文件更改为 cable.yml.erb,以便我可以像这样评估 ENV['REDISTOGO_URL']:

cable.yml.erb:

development:
  adapter: async

test:
  adapter: async

production:
  adapter: redis
  url: <%= ENV["REDISTOGO_URL"] %>

但现在我收到以下错误:

2016-11-23T02:24:20.551375+00:00 app[web.1]: E, [2016-11-23T02:24:20.551320 #4] ERROR -- : There was an exception - NoMethodError(undefined method `fetch' for nil:NilClass)
2016-11-23T02:24:20.551478+00:00 app[web.1]: E, [2016-11-23T02:24:20.551408 #4] ERROR -- : /app/vendor/bundle/ruby/2.3.0/gems/actioncable-5.0.0.1/lib/action_cable/server/configuration.rb:24:in `pubsub_adapter'
2016-11-23T02:24:20.551480+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actioncable-5.0.0.1/lib/action_cable/server/base.rb:72:in `block in pubsub'
2016-11-23T02:24:20.551481+00:00 app[web.1]: /app/vendor/ruby-2.3.1/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
2016-11-23T02:24:20.551482+00:00 app[web.1]: /app/vendor/bundle/ruby/2.3.0/gems/actioncable-5.0.0.1/lib/action_cable/server/base.rb:72:in `pubsub'

如果我对网址进行硬编码,它将起作用:

cable.yml:

development:
  adapter: async

test:
  adapter: async

production:
  adapter: redis
  url: redis://redistogo:xyz42@sculpin.redistogo.com:10903/

但我认为我不应该提交实际的 url。

这里面还有吗?

注意:我找到了this 代码块,似乎它可能会有所帮助,但我不确定。

我的项目在mbigras/depot

【问题讨论】:

    标签: heroku ruby-on-rails-5 actioncable


    【解决方案1】:

    尝试将 cable.yml.erb 重命名为 cable.yml 本身。 在我的本地机器上它对我有用:

    development:
      adapter: redis
      url: <%= ENV["REDIS_URL"] %>
    

    【讨论】:

    • 问题询问 Heroku,这是一个 production 环境而不是 development 环境。
    猜你喜欢
    • 2018-10-27
    • 2023-03-14
    • 1970-01-01
    • 2014-03-02
    • 2016-01-03
    • 1970-01-01
    • 2017-04-20
    • 1970-01-01
    • 2015-02-27
    相关资源
    最近更新 更多