2016-01-21 11 views
11

मैं actioncable के साथ रेल 5 का उपयोग कर रहा हूं और मुझे को फेंकने वाले कुछ भी भेजने का प्रयास करते समय this error मिल रहा है? मुझे क्या करना चाहिए? मैं इस परियोजना को हरोकू में धक्का देने की कोशिश कर रहा हूं।रेल 5 एक्शनकेबल अपरिभाषित विधि शून्य के लिए 'fetch': NilClass

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' 
+0

ऐसा लगता है कि 'केबल' 'nil' है जब 'cable.fetch' कहा जाता है। क्या यह मामला है? –

उत्तर

15

हुई एक प्रतिबद्ध यहां की गईं: enter link description here

के माध्यम से पढ़ना और से ActionCable के लिए कॉन्फ़िग फ़ाइल को बदलने ...

config/redis/cable.yml

config/cable.yml

को

... इस मुद्दे को ठीक किया गया। यह अद्यतन एक्शनकेबल बैकएंड को अज्ञेयवादी होने की अनुमति देना है।

+0

धन्यवाद यह काम है: डी –

+1

कोई बता सकता है कि ऐसा क्यों होता है? रेलवे 5.0.0.beta2 – ftshtw

+0

के साथ भी यह मेरे साथ हुआ, उन्होंने रेडिस को डिफॉल्ट करने के बजाय कॉन्फ़िगरेशन फ़ाइल को एक्शनकेबल बैकएंड के लिए अधिक संदिग्ध होने के लिए बदल दिया। –

संबंधित मुद्दे