2017-05-05 18 views
3

新しいレールプロジェクト。未初期化定数サイドキックワーカー

のRails 5.0.2 Sidekiq 4.2.10

私はrails g sidekiq:worker deposit_collectorを実行し、その後、私はperformメソッド内で必要なコードを記入。テストするには

私はレールコンソールにログインし、入力された:DepositCollector.perform_asyncと私はエラーを取得する:

NameError: uninitialized constant DepositCollectorWorker 

それはapp/workers/フォルダ内にあるべき場所労働者です。私は以前にいくつかのプロジェクトでsidekiqを使用してきたことがあります。

答えて

7

デフォルトでは、autoload pathsリストにappフォルダのすべてのサブディレクトリが含まれます。あなたがコンソールの自動ロードパスのリストを確認できます。

puts ActiveSupport::Dependencies.autoload_paths 

しかし、Railsは唯一のブート時にこれらのパスを探します。したがって、app/workersのような新しいフォルダを追加すると、Railsコンソールを再起動するだけでは不十分です。その後、再びRailsのコンソールを起動し、app/workersフォルダ内のファイルが正しくロードされます

spring stop 

:あなたは、Railsのコンソールを終了してSpring Application Preloaderを停止するには、両方必要があります。

関連する問題