我正在运行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)
这不是世界末日,但我很想知道为什么......
答案 0 :(得分:2)
我最终修复了它,用Jobs模块包装我的所有类是我需要做的。
我的文件位于“app / jobs”
看起来像这样
module Jobs
class JobName
#methods etc
end
end
并且像这样使用
Jobs::JobName.method(args)
答案 1 :(得分:1)
我知道你已经对它进行了排序,这是旧的,但在ruby中,也可以使用class Jobs::JobName
直接声明命名空间类。打字少了一点,并取得了相同的结果。
编辑:正如@D-side指出的那样,必须已经定义了乔布斯。我自己使用它的代码基于STI,它假定我扩展的前一个类/模块已经存在。