Rails 5 actioncable nil:NilClass 的未定义方法“获取”
Rails 5 actioncable undefined method `fetch' for nil:NilClass
我将 Rails 5 与 actioncable
一起使用,当我尝试发送任何抛出 actioncable
的内容时我收到 this error 我应该怎么做?
我正在尝试将项目推送到 Heroku。
NoMethodError in MessagesController#create
undefined method `fetch' for nil:NilClass
Extracted source (around line #37):
#35 # Also makes sure proper dependencies are required.
#36 def pubsub_adapter
*37 adapter = (cable.fetch('adapter') { 'redis' })
#38 path_to_adapter = "action_cable/subscription_adapter/#{adapter}"
#39 begin
#40 require path_to_adapter
Extracted source (around line #50):
#48 # Adapter used for all streams/broadcasting.
#49 def pubsub
*50 @pubsub ||= config.pubsub_adapter.new(self)
#51 end
#52
#53 # All the identifiers applied to the connection class associated with this server.
Extracted source (around line #42):
#40 def broadcast(message)
#41 server.logger.info "[ActionCable] Broadcasting to #{broadcasting}: #{message}"
*42 server.pubsub.broadcast broadcasting, ActiveSupport::JSON.encode(message)
#43 end
#44 end
#45 end
Rails.root: /media/adham/Data/code/rails5test
Application Trace
app/controllers/messages_controller.rb:6:in `create'
app/middleware/chat_action_cable.rb:10:in `call'
这里有一个提交:enter link description here
正在阅读并更改 ActionCable 的配置文件...
config/redis/cable.yml
到
config/cable.yml
...解决了问题。此更新是为了让 ActionCable 后端变得不可知。
我将 Rails 5 与 actioncable
一起使用,当我尝试发送任何抛出 actioncable
的内容时我收到 this error 我应该怎么做?
我正在尝试将项目推送到 Heroku。
NoMethodError in MessagesController#create
undefined method `fetch' for nil:NilClass
Extracted source (around line #37):
#35 # Also makes sure proper dependencies are required.
#36 def pubsub_adapter
*37 adapter = (cable.fetch('adapter') { 'redis' })
#38 path_to_adapter = "action_cable/subscription_adapter/#{adapter}"
#39 begin
#40 require path_to_adapter
Extracted source (around line #50):
#48 # Adapter used for all streams/broadcasting.
#49 def pubsub
*50 @pubsub ||= config.pubsub_adapter.new(self)
#51 end
#52
#53 # All the identifiers applied to the connection class associated with this server.
Extracted source (around line #42):
#40 def broadcast(message)
#41 server.logger.info "[ActionCable] Broadcasting to #{broadcasting}: #{message}"
*42 server.pubsub.broadcast broadcasting, ActiveSupport::JSON.encode(message)
#43 end
#44 end
#45 end
Rails.root: /media/adham/Data/code/rails5test
Application Trace
app/controllers/messages_controller.rb:6:in `create'
app/middleware/chat_action_cable.rb:10:in `call'
这里有一个提交:enter link description here
正在阅读并更改 ActionCable 的配置文件...
config/redis/cable.yml
到
config/cable.yml
...解决了问题。此更新是为了让 ActionCable 后端变得不可知。