我在app /中创建了一个“services”目录,在那里我创建了一些类(服务)。现在它看起来像这样:
-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
如何自动加载dir和subdir?
答案 0 :(得分:1)
Rails试图通过dirnames和amp;来猜测名称空间。文件名。因此,要拥有TransactionService :: AuthorizeRequest类名,您应该具有以下完整的结构:
app
- services
-- transaction_service
--- authorize_request.rb
你的课程看起来像:
module TransactionService
class AuthorizeRequest
end
end