如何在 rakefile(task) Rails 中包含一个问题?
How to include a concern in rakefile(task) Rails?
我有一个问题想在任务中使用我们称之为 'MyConcern',我这样包含它
include MyConcern
在那里,我有一个名为 my_object 的对象,当 运行 任务时出现以下错误。
NameError: uninitialized constant MyConcern
像这样包含文件而不是上面的方式:
require File.dirname(__FILE__) + '/../../app/controllers/concerns/my_concern'
当 运行 任务时出现以下错误:
NameError: undefined local variable or method `my_object' for
main:Object
顺便说一句,对象确实有一个值。
我是否缺少任何要求? (在我的任务中我只包括上面提到的文件)
我通过创建服务使其工作,该服务包含关注文件,这样我就可以使用关注的对象。我仍然不确定这样做是否正确,但它确实有效。
在服务文件夹 MyService.rb里面有代码。
class MyService
include MyConcern
def initialize; end
def execute
#stuff I have in my concern (for instance *my_object*)
end
end
在任务中我只是照常使用服务。
MyService.new
我有一个问题想在任务中使用我们称之为 'MyConcern',我这样包含它
include MyConcern
在那里,我有一个名为 my_object 的对象,当 运行 任务时出现以下错误。
NameError: uninitialized constant MyConcern
像这样包含文件而不是上面的方式:
require File.dirname(__FILE__) + '/../../app/controllers/concerns/my_concern'
当 运行 任务时出现以下错误:
NameError: undefined local variable or method `my_object' for main:Object
顺便说一句,对象确实有一个值。
我是否缺少任何要求? (在我的任务中我只包括上面提到的文件)
我通过创建服务使其工作,该服务包含关注文件,这样我就可以使用关注的对象。我仍然不确定这样做是否正确,但它确实有效。
在服务文件夹 MyService.rb里面有代码。
class MyService
include MyConcern
def initialize; end
def execute
#stuff I have in my concern (for instance *my_object*)
end
end
在任务中我只是照常使用服务。
MyService.new