環境
- Ruby 2.4.2
- Rails 5.1.4
やりたいこと
app
- services/
- neko.rb
- - utils/
- - - hoge.rb
- - users/
- - - test.rb
みたいなserivces
ディレクトリ構成があるとして、全てのディレクトリ内のファイルをオートロードパスに含めたいが、デフォルトでは出来ないので、その方法について記載します。
デフォルトでは、
services
ディレクトリの直下のみがオートロードパスの対象となっています。
services.rbを編集
config/initializers
ディレクトリ内にserices.rb
を作成します(自分の環境にはありませんでした)。
services.rb
を以下のようにします。
Dir.glob("app/services/**/*.rb") do |file|
require_dependency Rails.root.join(file)
end
これで全てのファイルが対象となっているかと思います。