Rails,自定义文件夹和命名空间
我正在运行Rails 3.2.7,
我有一个文件夹’/ app / jobs’
以及我的’config / application.rb’文件中的以下内容
config.autoload_paths += %W(#{Rails.root}/app/jobs)
一切都很好。
但是,如果我想命名我的类,例如
class Jobs::UpdateGameStatus #methods etc end
而不是
class UpdateGameStatus #methods etc end
然后我明白了
未初始化的常量作业(NameError)
这不是世界末日,但我很想知道为什么……
我最后修复了它,用Jobs模块包装我的所有类是我需要做的。
我的文件位于’app / jobs’
看起来像这样
module Jobs class JobName #methods etc end end
并且像这样使用
Jobs::JobName.method(args)
我知道你已经对它进行了排序,这是旧的,但在ruby中,也可以使用class Jobs::JobName
直接声明命名空间类。 打字少一点,并取得相同的结果。
编辑:正如@D-side指出的那样,乔布斯已经被定义了。 我自己使用它的代码基于STI,它假定我扩展的前一个类/模块已经存在。