我有一个要在任务中使用的问题,我们称它为“ MyConcern”,我这样包含它
include MyConcern
在那里,我有一个名为my_object的对象,运行任务时出现以下错误。
NameError:未初始化的常量MyConcern
包括这样的文件,而不是上述方式:
require File.dirname(__FILE__) + '/../../app/controllers/concerns/my_concern'
运行任务时出现以下错误:
NameError:未定义的局部变量或方法“ my_object”的 main:对象
顺便说一句,该对象确实具有值。
我缺少任何要求吗? (在我的任务中,我仅包含上述文件)
答案 0 :(得分:0)
我通过创建一个服务来使其工作,该服务包括关注文件,这样我就可以使用关注的对象。我仍然不确定这是否是正确的方法,但是可以。
在服务文件夹中 MyService.rb 中的代码。
class MyService.rb
include MyConcern
def initialize; end
def execute
#stuff I have in my concern (for instance *my_object*)
end
end
在任务中,我照常使用服务。
MyService.new