1. ホーム
  2. ruby-on-rails

[解決済み] Rails 5: lib ファイルを実運用環境で読み込む

2022-05-09 15:01:27

質問

あるアプリケーションをRails 4.2.6からRails 5.0.0にアップグレードしたのですが、その際に アップグレードガイド によると、Autoload 機能は現在、実運用環境ではデフォルトで無効になっているとのことです。

ですべての lib ファイルを autoload で読み込むので、実運用サーバーでは常にエラーが発生します。 application.rb ファイルを作成します。

module MyApp
    class Application < Rails::Application
        config.autoload_paths += %W( lib/ )
    end
end

とりあえずは config.enable_dependency_loading から true が、もっと良い解決策はないものだろうか。Autoloadingがデフォルトで無効にされているのは、何か理由があるはずです。

解決方法は?

本番環境では、スレッドセーフのため、オートローディングを無効にしています。リンクを貼ってくださった@Зелёныйさんに感謝します。

私はこの問題を解決するために、libファイルを lib フォルダの中にある app で推奨されているように Github . の各フォルダは app フォルダはRailsによって自動的に読み込まれます。