2

我已将我的 rails 项目从 4.x 升级到 5.0.0.beta1 以使用 actioncable,并且我遵循了 DHH 的示例,但它不起作用。当我启动 rails 服务器时,它显示错误:

$ rails s
=> Booting Puma
=> Rails 5.0.0.beta1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
Exiting

/home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.beta1/lib/action_cable/server/configuration.rb:15:in `initialize': uninitialized constant ActionCable::Server::Configuration::ApplicationCable (NameError)

from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:16:in `new'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:16:in `block in <class:Base>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.beta1/lib/active_support/core_ext/module/attribute_accessors.rb:72:in `block in mattr_reader'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.beta1/lib/active_support/core_ext/module/attribute_accessors.rb:55:in `each'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.beta1/lib/active_support/core_ext/module/attribute_accessors.rb:55:in `mattr_reader'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.beta1/lib/active_support/core_ext/module/attribute_accessors.rb:208:in `mattr_accessor'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:16:in `<class:Base>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:12:in `<module:Server>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:7:in `<module:ActionCable>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.beta1/lib/action_cable/server/base.rb:6:in `<top (required)>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actioncable-5.0.0.beta1/lib/action_cable.rb:43:in `server'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/config/routes.rb:28:in `block in <top (required)>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.beta1/lib/action_dispatch/routing/route_set.rb:380:in `instance_exec'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.beta1/lib/action_dispatch/routing/route_set.rb:380:in `eval_block'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.beta1/lib/action_dispatch/routing/route_set.rb:362:in `draw'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/config/routes.rb:1:in `<top (required)>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application/routes_reloader.rb:40:in `block in load_paths'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application/routes_reloader.rb:40:in `each'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application/routes_reloader.rb:40:in `load_paths'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application/routes_reloader.rb:16:in `reload!'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application/routes_reloader.rb:26:in `block in updater'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activesupport-5.0.0.beta1/lib/active_support/file_update_checker.rb:75:in `execute'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application/routes_reloader.rb:27:in `updater'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application/routes_reloader.rb:7:in `execute_if_updated'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/initializable.rb:30:in `instance_exec'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/initializable.rb:30:in `run'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/initializable.rb:55:in `block in run_initializers'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:228:in `block in tsort_each'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:431:in `each_strongly_connected_component_from'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:349:in `block in each_strongly_connected_component'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `call'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:347:in `each_strongly_connected_component'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:226:in `tsort_each'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/tsort.rb:205:in `tsort_each'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/initializable.rb:54:in `run_initializers'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/application.rb:350:in `initialize!'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/config/environment.rb:5:in `<top (required)>'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/config.ru:3:in `require'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/config.ru:3:in `block in <main>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-2.0.0.alpha/lib/rack/builder.rb:55:in `instance_eval'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-2.0.0.alpha/lib/rack/builder.rb:55:in `initialize'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/config.ru:in `new'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/config.ru:in `<main>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-2.0.0.alpha/lib/rack/builder.rb:49:in `eval'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-2.0.0.alpha/lib/rack/builder.rb:49:in `new_from_string'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-2.0.0.alpha/lib/rack/builder.rb:40:in `parse_file'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-2.0.0.alpha/lib/rack/server.rb:318:in `build_app_and_options_from_config'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-2.0.0.alpha/lib/rack/server.rb:218:in `app'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/commands/server.rb:56:in `app'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/rack-2.0.0.alpha/lib/rack/server.rb:353:in `wrapped_app'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/commands/server.rb:134:in `log_to_stdout'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/commands/server.rb:74:in `start'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/commands/commands_tasks.rb:90:in `block in server'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/commands/commands_tasks.rb:85:in `tap'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/commands/commands_tasks.rb:85:in `server'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/commands/commands_tasks.rb:49:in `run_command!'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/command.rb:20:in `run'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/railties-5.0.0.beta1/lib/rails/commands.rb:19:in `<top (required)>'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/bin/rails:8:in `require'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/bin/rails:8:in `<top (required)>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `load'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/spring-1.1.3/lib/spring/client/rails.rb:27:in `call'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/spring-1.1.3/lib/spring/client/command.rb:7:in `call'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/spring-1.1.3/lib/spring/client.rb:26:in `run'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/spring-1.1.3/bin/spring:48:in `<top (required)>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `load'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/spring-1.1.3/lib/spring/binstub.rb:11:in `<top (required)>'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/laport/.rbenv/versions/2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /home/laport/Téléchargements/Nouveau TP/Module_chat (copie)/bin/spring:16:in `<top (required)>'
from bin/rails:3:in `load'
from bin/rails:3:in `<main>'

这是我的 Gemfile :

gem 'bcrypt'
gem 'faker'
gem 'carrierwave'
gem 'mini_magick'
gem 'fog'
# gem 'haml-rails'

gem 'sqlite3'

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


gem 'sprockets'

gem 'sprockets-rails'

gem 'bourbon'

gem 'neat'

gem 'bitters'

gem 'bunny'


gem 'activesupport', '5.0.0.beta1'

gem 'actionpack'

gem 'arel'

gem 'rack'

gem 'puma', '2.15.3'

gem 'actioncable' , '5.0.0.beta1'



gem 'will_paginate'

gem 'bootstrap-will_paginate'

gem 'bootstrap-sass'

gem 'sass-rails'

gem 'uglifier'

gem 'coffee-rails' 

gem 'jquery-rails'

gem 'turbolinks' 

gem 'jbuilder' 

gem 'sdoc'
4

3 回答 3

5

您需要添加require 'action_cable/engine'到您的config/application.rb.

于 2017-07-18T16:34:30.553 回答
1

该错误与您的项目中没有正确的 ActionCable 文件有关。你需要app/channels/application_cable/channel.rb看起来像这样:

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

# app/channels/application_cable/connection.rb

module ApplicationCable
  class Connection < ActionCable::Connection::Base
  end
end
于 2016-03-19T13:27:54.200 回答
0

加入require "action_cable"_config/application.rb

来源: https ://github.com/rails/rails/issues/23183

于 2016-11-23T00:50:47.953 回答