【发布时间】:2016-12-01 21:50:10
【问题描述】:
所以有一个 rails 5 项目,想加载这样的目录
/app
/services
/user
foo.rb
作为常量 ::Services::User::Foo
有没有人有让rails自动加载路径以这种方式加载常量的经验?
foo.rb
module Services
module User
class Foo
end
end
end
解决方案
将此添加到您的 application.rb 文件中
config.autoload_paths << Rails.root.join('app')
在此处查看有关自动加载的讨论
https://github.com/rails/rails/issues/14382#issuecomment-37763348 https://github.com/trailblazer/trailblazer/issues/89#issuecomment-149367035
【问题讨论】:
-
foo.rb里面有什么?一个类,一个模块,松散的方法? -
类是怎么命名的?
Foo,不在模块内? -
这将是模块下的一个类 (Services::User),只是用示例更新了问题
标签: ruby-on-rails ruby ruby-on-rails-5