give IT a try

プログラミング、リモートワーク、田舎暮らし、音楽、etc.

Railsでlibディレクトリに格納した自作クラスをサーバーの再起動なしでリロードする方法

Railsのdevelopment環境ではサーバーを再起動しなくても、appディレクトリ内のmodelやview、controllerの変更内容は実行時にすぐ反映されます。
ところが、libディレクトリに格納した自作のクラスはサーバーを再起動するまで変更内容が反映されません。
libディレクトリのクラスを頻繁に更新する場合、これは非常にストレスが溜まります。
なんとかappディレクトリにあるクラスのように、自動的にリロードしてくれないかな〜とネットを探していたところ、やはり解決方法がありました。


ruby - Reload lib files without restart dev server in Rails 3.1 - Stack Overflow


方法は簡単で、application.rbに以下の設定を加えるだけです。

config.autoload_paths += Dir["#{config.root}/lib/**/"]


これでlibディレクトリの自作クラスも自動的にリロードされるようになりました。
めでたしめでたし。