son*_*002 1 ruby ruby-on-rails ruby-on-rails-4
我的服务文件夹中有很多服务对象.我正在使用Rails 4:
->services
a_gen.rb
b_gen.rb
...
a_pro.rb
b_pro.rb
...
Run Code Online (Sandbox Code Playgroud)
我想我的文件夹结构是这样的
->services
->gen
a_gen.rb
b_gen.rb
...
->pro
a_pro.rb
b_pro.rb
...
Run Code Online (Sandbox Code Playgroud)
我尝试制作文件夹并将对象放在那里,但Rails抱怨无法找到它.我必须告诉铁路看那里吗?
更新:
我收到此错误:
NameError - 未初始化的常量ExampleModelName :: APro
即使加载了路径.一旦它在子文件夹中..Rails正在寻找错误的地方.
你可以用两种方式做到这一点.
如果要rails在不对其进行任何修改的情况下自动加载它们config.autoload_paths,请按照以下文件夹结构定义类:
module Gen
class ServiceA
end
end
Run Code Online (Sandbox Code Playgroud)
如果您不想对类定义进行任何更改,那么您可以将这些子文件夹添加到config.autoload_paths以下内容中config/application.rb
module YourApplication
class Application < Rails::Application
config.autoload_paths += [
"#{Rails.root}/app/services/gen",
"#{Rails.root}/app/services/prod"
]
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1090 次 |
| 最近记录: |