config/
設定ファイルを探すgemを作成しました。これは正常に機能しますが、ユーザーが構成を変更した場合は、gemが新しい構成をロードする前に、プログラムを停止して再起動する必要があります。これには、変更のたびにRailsアプリ全体を再起動する必要がありますが、これは理想的ではありません。
キャッシュされたバージョンを使用する代わりに、ファイルを新しくロードするようにファイルを「再要求」する方法はありますか。
load
の代わりに使用できますrequire
。これにより、以前にロードされたかどうかに関係なく、ファイルがロードされます。でオプションの拡張子をload
指定する必要があることに注意してください。だからになります。.rb
require
require "path/to/myconfig"
load "path/to/myconfig.rb"
これは、前の構成で定義されたものを定義解除しないことに注意してください。したがって、構成がから$verbose = true; $debug = true
に変更された$verbose = false
場合は、構成をリロードした後も変更されます。$verbose
false
$debug
true
もちろんload
、設定ファイルをリロードするたびに実行される場所(つまり、メソッドまたはフック内)にステートメントを配置する必要があります。