私のアプリケーション/ディレクトリには、サービスというフォルダがあります。サービスフォルダ内のファイルを自動読み込みするには、「config/spring.rb」に「app/services」を追加しました。RoRの自動ロードカスタム例外ファイル
%w(
.ruby-version
.rbenv-vars
tmp/restart.txt
tmp/caching-dev.txt
app/services
).each { |path| Spring.watch(path) }
これは問題ありません。しかし今、カスタム例外(app/services/errors /内)のサブディレクトリを作成したいと思います。私は私のspring.rbに新しい行を追加しようとすると、しかし:ここに私のカスタムエラーファイル(アプリ/サービス/エラー/ six_errorを
NameError:
uninitialized constant SixError
:
%w(
.ruby-version
.rbenv-vars
tmp/restart.txt
tmp/caching-dev.txt
app/services
app/services/errors
).each { |path| Spring.watch(path) }
それは働いていない、私はいくつかを持って.RB):
class SixError < RuntimeError
end
class NilTokenError < SixError
end
class SixRequestFailed < SixError
end
class NoAliasRequestPendingError < SixError
end
class AmountLessThanZeroError < SixError
end
class NilAliasError < SixError
end
そして、これは私がこれを呼ばれる方法です:
SixError::SixRequestFailed
ファイルを順番に読み込む必要があると思いますが、SixErrorを含むファイルは最初に読み込まれ、次に残りのファイルが読み込まれます。したがって、次の%w(.ruby-version .rbenv-vars tmp/restart.txt tmp/caching-dev.txt app/services/services/errors/six_error.rb、app/services/errors)のロード順を変更してみてください。 ) – Ucpuzz
このエラーをスローしているときにどの行のコードを指しているのですか? '初期化されていない定数SixError' – Ucpuzz