RoR 自动加载子目录



我在app/中创建了一个"服务"目录,在那里我创建了一些类(服务(。现在它看起来像这样:

-app
-services
-class1
-class2
-class3
-class4

现在,我已经在config/spring.rb中添加了应用程序/服务

%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

我收到错误:

未初始化的常量 事务服务::授权请求

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

Rails试图通过dirnames和文件名来猜测命名空间。因此,要有一个 TransactionService::AuthorizeRequest 类名,你应该具有以下确切的结构:

app
- services
-- transaction_service
--- authorize_request.rb

你的班级看起来像:

module TransactionService
class AuthorizeRequest
end
end

最新更新