[Ruby on Rails 3.1] lib ディレクトリ以下に自作ライブラリを置いて autoload を有効にする設定方法
Ruby on Rails 3.1 にて、lib ディレクトリ以下に自作ライブラリを置いて、オートロードする設定方法を調べたのでメモ。
Rails3 で autoload はデフォルトで無効になっているので、config/application.rb でオートロードを有効にしてやる必要があります。
■ config/application.rb:
# Custom directories with classes and modules you want to be autoloadable.
# config.autoload_paths += %W(#{config.root}/extras)
config.autoload_paths += %W(#{config.root}/lib) # 追加
config.autoload_paths += Dir["#{config.root}/lib/**/"] # 追加
僕はこの設定で autoload が有効になりましたが、これでもダメな場合は、ここを参考にしてみるといいかも。
・自作ライブラリをrequireするためにやったこと - 喉鳴らす未来に達し
以上です。
【参考】
・Rails3でautoloadはデフォルトで無効になっている - INOHILOG
・Rails 3 Quicktip: Autoload lib directory including all subdirectories, avoid lazy loading
・Rails 3 autoload - Stack Overflow
・Ruby/Ruby on Rails/libディレクトリとオートロードと自作ライブラリ - TOBY SOFT wiki