如何配置 ActionCable 以与 Heroku 一起工作?
How do you configure ActionCable to work with Heroku?
我想配置 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'
如果我对 url 进行硬编码,它将起作用:
cable.yml:
development:
adapter: async
test:
adapter: async
production:
adapter: redis
url: redis://redistogo:xyz42@sculpin.redistogo.com:10903/
但我认为我不应该提交实际的 url。
这附近有没有?
注意:我找到了 this 代码块,看起来可能有帮助,但我不确定。
我的项目在 mbigras/depot
尝试将 cable.yml.erb
重命名为 cable.yml
本身。
在我的本地机器上它对我有用:
development:
adapter: redis
url: <%= ENV["REDIS_URL"] %>
我想配置 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'
如果我对 url 进行硬编码,它将起作用:
cable.yml:
development:
adapter: async
test:
adapter: async
production:
adapter: redis
url: redis://redistogo:xyz42@sculpin.redistogo.com:10903/
但我认为我不应该提交实际的 url。
这附近有没有?
注意:我找到了 this 代码块,看起来可能有帮助,但我不确定。
我的项目在 mbigras/depot
尝试将 cable.yml.erb
重命名为 cable.yml
本身。
在我的本地机器上它对我有用:
development:
adapter: redis
url: <%= ENV["REDIS_URL"] %>