アプリの1つをRails 4.2.6からRails 5.0.0にアップグレードしました。アップグレードガイドは、オートロード機能はデフォルトで生産で無効になっていることを、述べています。
ファイルにautoloadを使用してすべてのlibファイルをロードするため、今では常に本番サーバーでエラーが発生しapplication.rb
ます。
module MyApp
class Application < Rails::Application
config.autoload_paths += %W( lib/ )
end
end
今のところはに設定しconfig.enable_dependency_loading
ましたtrue
が、これに対するより良い解決策があるかどうか疑問に思います。本番環境ではデフォルトでオートローディングが無効になっている理由があるはずです。
lib
dirに2つのファイルを持っています。1つのファイルはランタイムで簡単に利用できますが、別のファイルは手動で必要になる必要があります:D
Validators
コードが自動的に読み込まれるので、app /ディレクトリのフォルダにコード(など)を直接グループ化します。
app/services/paylinx/paylinx_service.rb
クラス定義:が機能しmodule Paylinx class PaylinxService end end
ます。私はこれらのautoload_paths
ものを試しました。うまくいきません。