DelayedJob工作者未加载我的所有应用程序,并且我收到NameError:未初始化的常量

时间:2019-01-08 16:01:01

标签: ruby-on-rails delayed-job

我有一个与DelayedJob工人一起工作的工作。 它尝试使用models/a/myclass.rb

中的常量

my_class.rb看起来像这样:

module A
  MY_CONST = "my_value".freeze

  class B
  end
end

在我的工作类别中,我尝试使用A::MY_CONST,但遇到错误NameError: uninitialized constant A::MY_CONST

它在DelayedJob的第一次迭代中工作正常,但从第二次迭代开始失败。

知道为什么吗?

1 个答案:

答案 0 :(得分:0)

如果您有文件result = {v: L2[i % len(L2)] for i, v in enumerate(L1)} print(result) ,则应包含一个名为 models/some_folder/myclass.rb。如果您想拥有模型A,请将其放入SomeFolder::MyClass

See more和“ Rails Guides”中的“文件查找规则”(有点过时,但给出了主意)。