[Ruby on Rails 3.1] lib ディレクトリ以下に自作ライブラリを置いて autoload を有効にする設定方法

Tadashi Shigeoka ·  Sun, February 26, 2012

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するためにやったこと - 喉鳴らす未来に達し はてなブックマーク - 自作ライブラリをrequireするためにやったこと - 喉鳴らす未来に達し

以上です。

【参考】

Rails3でautoloadはデフォルトで無効になっている - INOHILOG はてなブックマーク - Rails3でautoloadはデフォルトで無効になっている - INOHILOG

Rails 3 Quicktip: Autoload lib directory including all subdirectories, avoid lazy loading はてなブックマーク - Rails 3 Quicktip: Autoload lib directory including all subdirectories, avoid lazy loading

Rails 3 autoload - Stack Overflow はてなブックマーク - Rails 3 autoload - Stack Overflow

Ruby/Ruby on Rails/libディレクトリとオートロードと自作ライブラリ - TOBY SOFT wiki はてなブックマーク - Ruby/Ruby on Rails/libディレクトリとオートロードと自作ライブラリ - TOBY SOFT wiki