2015-12-21 14 views
9

Quando eseguo il server, il suo errore di lancio viene visualizzato nei log seguenti. Ho cercato spesso su Google ma non ho avuto motivo. Qualcuno per favore metti un po 'di luce su di esso.costante non inizializzata> ActionCable :: Server :: Configuration :: ApplicationCable

Gemfile

source 'https://rubygems.org' 

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '>= 5.0.0.beta1', '< 5.1' 
# Use sqlite3 as the database for Active Record 
gem 'sqlite3' 

gem 'active_model_serializers', '~> 0.10.0.rc1' 

group :development, :test do 
    gem 'byebug' 
end 
gem 'puma' 
group :development do 
    gem 'spring' 
end 

Logs:

/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable/server/configuration.rb:15:in 
`initialize': uninitialized constant 
ActionCable::Server::Configuration::ApplicationCable (NameError) from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:16:in `new' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:16:in `block in <class:Base>' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/activesupport-5.0.0.beta1/lib/active_support/core_ext/module/attribute_accessors.rb:72:in 
`block in mattr_reader'  from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/activesupport-5.0.0.beta1/lib/active_support/core_ext/module/attribute_accessors.rb:55:in 
`each' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/activesupport-5.0.0.beta1/lib/active_support/core_ext/module/attribute_accessors.rb:55:in 
`mattr_reader' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/activesupport-5.0.0.beta1/lib/active_support/core_ext/module/attribute_accessors.rb:208:in 
`mattr_accessor' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:16:in `<class:Base>'  from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:12:in `<module:Server>' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:7:in 
`<module:ActionCable>' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:6:in 
`<top (required)>' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable.rb:43:in 
`server' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/actioncable-5.0.0.beta1/lib/action_cable/process/logging.rb:10:in 
`<top (required)>' from /home/pd/Documents/EventsApp/config.ru:7:in 
`block in <main>' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/rack-2.0.0.alpha/lib/rack/builder.rb:55:in 
`instance_eval'  from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/rack-2.0.0.alpha/lib/rack/builder.rb:55:in 
`initialize' from /home/pd/Documents/EventsApp/config.ru:in `new' 
    from /home/pd/Documents/EventsApp/config.ru:in `<main>'  from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/rack-2.0.0.alpha/lib/rack/builder.rb:49:in 
`eval' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/rack-2.0.0.alpha/lib/rack/builder.rb:49:in 
`new_from_string' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/rack-2.0.0.alpha/lib/rack/builder.rb:40:in 
`parse_file' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/rack-2.0.0.alpha/lib/rack/server.rb:318:in 
`build_app_and_options_from_config'  from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/rack-2.0.0.alpha/lib/rack/server.rb:218:in 
`app' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/commands/server.rb:56:in 
`app' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/rack-2.0.0.alpha/lib/rack/server.rb:353:in 
`wrapped_app' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/commands/server.rb:134:in 
`log_to_stdout'  from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/commands/server.rb:74:in 
`start'  from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/commands/commands_tasks.rb:90:in 
`block in server' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/commands/commands_tasks.rb:85:in 
`tap' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/commands/commands_tasks.rb:85:in 
`server' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/commands/commands_tasks.rb:49:in 
`run_command!' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/command.rb:20:in 
`run' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/railties-5.0.0.beta1/lib/rails/commands.rb:19:in 
`<top (required)>' from /home/pd/Documents/EventsApp/bin/rails:9:in 
`require' from /home/pd/Documents/EventsApp/bin/rails:9:in `<top 
(required)>' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/spring-1.6.0/lib/spring/client/rails.rb:28:in 
`load' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/spring-1.6.0/lib/spring/client/rails.rb:28:in 
`call' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/spring-1.6.0/lib/spring/client/command.rb:7:in 
`call' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/spring-1.6.0/lib/spring/client.rb:28:in 
`run' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/spring-1.6.0/bin/spring:51:in `<top 
(required)>' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/spring-1.6.0/lib/spring/binstub.rb:11:in 
`load' from 
/home/pd/.rvm/gems/ruby-2.2.4/gems/spring-1.6.0/lib/spring/binstub.rb:11:in 
`<top (required)>' from /home/pd/Documents/EventsApp/bin/spring:13:in 
`require' from /home/pd/Documents/EventsApp/bin/spring:13:in `<top 
(required)>' from bin/rails:3:in `load' from bin/rails:3:in `<main>' 
+2

Sto avendo questo problema, non appena provo a montarlo con percorsi'mount ActionCable. server => '/ cable'' – MacTeo

+1

@MacTeo Guarda la mia risposta qui sotto, dovrebbe risolvere il tuo problema. – Oleander

risposta

11

L'errore è correlato a non avere i file ActionCable corretti nel progetto. È necessario app/channels/application_cable/channel.rb che assomiglia a questo

module ApplicationCable 
    class Channel < ActionCable::Channel::Base 
    end 
end 

e app/channels/application_cable/connection.rb

module ApplicationCable 
    class Connection < ActionCable::Connection::Base 
    end 
end 
+0

Questo ha risolto anche il mio problema. Ho aggiornato un progetto 4.x.x a 5.x.x per utilizzare il cavo azione, e questo era uno degli elementi mancanti quando si seguivano le prime esercitazioni per un nuovo progetto 5.x.x. – tonyedwardspz

+0

Ho ancora l'errore ... – Bengala

3

Secondo DHH's video tutorial da ieri, c'è un problema tra Spring ed un ActionCable dipendenza, così fino a quando la versione finale di Rails   5 dovrai ricrea il tuo progetto con l'opzione --skip-spring.

+0

Grazie per la risposta, ma non ha funzionato. Lo stesso errore. –

+0

Solo un controllo di integrità: hai eseguito 'bundle' dopo averlo rimosso dal Gemfile? :-) – Drenmi

+0

Sì, l'ho fatto .. –

6

Ho avuto lo stesso problema quando si cerca di utilizzare ActionCable con Rails 4.2.5 e la soluzione era quella di aggiungere quanto segue al config/applicazione .RB:

config.autoload_paths += %W(#{config.root}/app/channels) 

Questo è con la gemma ActionCable:

gem 'actioncable', github: 'rails/actioncable', branch: 'archive' 
+1

Questo mi ha aiutato, grazie! –

0

Se avete aggiornato dalla versione precedente (quando actioncable non era nel pacchetto), controllare se contiene config/application.rb

require "action_cable/engine"