0

我正在运行 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

然后我得到

未初始化的常量 Jobs (NameError)

这不是世界末日,但我很想知道为什么...

4

2 回答 2

2

我最终修复了它,用 Jobs 模块包装我的所有类是我需要做的。

我的文件位于“应用程序/工作”中

看起来像这样

module Jobs
  class JobName
    #methods etc
  end
end

并像这样使用

Jobs::JobName.method(args)
于 2012-11-22T11:19:57.237 回答
1

我知道你已经解决了这个问题,这很旧,但是在 ruby​​ 中,也可以直接使用class Jobs::JobName. 它少了一点打字,并达到了相同的结果。

编辑:正如@D-side 所指出的,必须已经定义了 Jobs。我自己使用它的代码基于 STI,它假定我正在扩展的前一个类/模块已经存在。

于 2014-10-28T20:16:37.050 回答