2016-10-31 11 views
0

私はRails 5にアップグレードしました。私はActionCableの基本についてのチュートリアルに従っていますが、サーバーを起動できません。Rails 5 - ActionCableを初期化できません

毎回私は、私は次のエラーを取得する、そうしよう:

mount ActionCable.server => '/cable'

これを:それはこのラインから、私のroutes.rbファイルから来ているよう

uninitialized constant ActionCable (NameError)

に思えます私がこれまで読んできたすべてのチュートリアルではLineが指定されているので、Actioncableが動作するために必要と仮定しています。誰もこの問題を以前に遭遇しましたか?私のgemfileは最新ですが、私はレール5.0.0.1を使用しています

+0

- あなたが(例えば、 'バンドル幹部レールはS')バンドラ介してサーバを起動する場合は、同じエラーが出るのですか? – gmcnaughton

+0

@gmcnaughtonはい、まったく同じエラー –

答えて

0

答えとしてthisごとに、次のファイルパスに従っていることを確認してください。このように見えるapp/channels/application_cable/channel.rbが必要です。

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

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

いいえ、どちらのファイルもこのように見えます。 –

0

あなたは正しい場所にチャンネルとの接続ファイルを宣言していることが確実な場合app/channels/application_cable/connection.rb、その後、あなたはconfig/application.rbでActionCableをロードしていることを確認してください。あなただけのrequire "action_cable/engine"を追加する必要が

require "active_model/railtie" 
require "active_job/railtie" 
require "active_record/railtie" 
require "action_controller/railtie" 
require "action_mailer/railtie" 
require "action_view/railtie" 
# require "sprockets/railtie" 
# require "rails/test_unit/railtie" 

た場合:

は、このファイルに次のようなものであってもよいです。

require "rails/all"を使用すると、すべてのフレームワークを一度読み込むことができます。 Rails Initialization Process guide の詳細については、こちらをご覧ください。

rails/allは、次のようにロードします。あなたのGemfileはRails5を持っている、それが動作する必要があることを考えると

active_record/railtie 
    action_controller/railtie 
    action_view/railtie 
    action_mailer/railtie 
    active_job/railtie 
    action_cable/engine 
    rails/test_unit/railtie 
    sprockets/railtie 
関連する問題