2015-12-21 15 views
9

Podczas pracy z serwerem jego błąd rzucania jest wyświetlany w logach poniżej. Dużo googlowałem, ale nie rozumiałem za tym. Ktoś, proszę, zapal to.niezainicjowana stała> 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 

kłody:

/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

mam ten problem jak najszybciej postaram się go zamontować z trasy'mount ActionCable. server => '/ cable'' – MacTeo

+1

@MacTeo Spójrz na moją odpowiedź poniżej, powinno to rozwiązać twój problem. – Oleander

Odpowiedz

11

Błąd jest związany z brakiem prawidłowych plików ActionCable w projekcie. Musisz app/channels/application_cable/channel.rb że wygląda to

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

i app/channels/application_cable/connection.rb

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

To również rozwiązało mój problem. Uaktualniłem projekt 4.x.x do wersji 5.x.x, aby użyć kabla akcji, a był to jeden z brakujących elementów podczas wczesnego samouczenia nowego projektu 5.x.x. – tonyedwardspz

+0

Nadal mam błąd ... – Bengala

3

Według DHH's video tutorial od wczoraj, jest to kwestia pomiędzy Spring i zależność ActionCable, więc aż do ostatecznego uwolnienia Rails   5 trzeba będzie odtwórz swój projekt za pomocą opcji --skip-spring.

+0

Dzięki za odpowiedź, ale to nie zadziałało. Ten sam błąd. –

+0

Tylko sprawdzanie poprawności: czy uruchomiłeś 'bundle' po usunięciu go z Gemfile? :-) – Drenmi

+0

Tak, zrobiłem to .. –

6

miałem ten sam problem przy próbie użycia ActionCable z Rails 4.2.5 i roztwór do dodać następujące config/aplikacji .rb:

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

to z ActionCable gem:

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

Pomogło mi to, dzięki! –

0

przypadku uaktualnienia z poprzedniej wersji (gdy actioncable nie było w zestawie), sprawdź czy config/application.rb zawiera

require "action_cable/engine"