Ruby on rails 自动加载子目录

Ruby on rails 自动加载子目录,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在app/中创建了一个services dir,其中我创建了一些类服务。现在看起来是这样的: -app -services -class1 -class2 -class3 -class4 现在,我已经在config/spring.rb中添加了app/services %w( .ruby-version .rbenv-vars tmp/restart.txt tmp/caching-dev.txt app/service

我在app/中创建了一个services dir,其中我创建了一些类服务。现在看起来是这样的:

-app
   -services
      -class1
      -class2
      -class3
      -class4
现在,我已经在config/spring.rb中添加了app/services

%w(
  .ruby-version
  .rbenv-vars
  tmp/restart.txt
  tmp/caching-dev.txt
  app/services
  app/errors
).each { |path| Spring.watch(path) }
因此,我在服务中的类被加载

但现在,我想这样做:

-app
   -services
      -dir1
         -class1
         -class2
      -dir2
         -class3
      -class4
我得到一个错误:

未初始化的常量TransactionService::AuthorizeRequest


如何自动加载目录和子目录?

Rails试图通过目录名和文件名猜测名称空间。因此,要获得TransactionService::AuthorizeRequest类名,您应该具有以下结构:

app
- services
-- transaction_service
--- authorize_request.rb
您的类应该如下所示:

module TransactionService
  class AuthorizeRequest
  end
end