gpt4 book ai didi

ruby-on-rails - 如何为子文件夹中的对象提供服务

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:45 25 4
gpt4 key购买 nike

我的服务文件夹中有许多服务对象。我正在使用 Rails 4:

 ->services
a_gen.rb
b_gen.rb
...
a_pro.rb
b_pro.rb
...

我希望我的文件夹结构是这样的

  ->services
->gen
a_gen.rb
b_gen.rb
...
->pro
a_pro.rb
b_pro.rb
...

我尝试只制作文件夹并将对象放在那里,但 Rails 提示找不到它。我必须告诉 rails 看那里吗?

更新:

我收到这个错误:

NameError - 未初始化的常量 ExampleModelName::APro

即使加载了路径。一旦它位于子文件夹中。Rails 正在查找错误的位置。

最佳答案

您可以通过两种方式做到这一点。

如果您希望 rails 在不对 config.autoload_paths 进行任何修改的情况下自动加载它们,请按如下文件夹结构定义您的类:

module Gen
class ServiceA
end
end

如果您不想对您的类定义进行任何更改,那么您可以将这些子文件夹添加到 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

关于ruby-on-rails - 如何为子文件夹中的对象提供服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35611650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com