Как включить задачу в rakefile(задачу) Rails?

У меня есть проблема, которую я хочу использовать в задаче, назовем ее "MyConcern", я включаю ее вот так

include MyConcern

Там у меня есть объект my_object, я получаю следующую ошибку при запуске задачи.

NameError: неинициализированная константа MyConcern

Включая файл следующим образом:

require File.dirname(__FILE__) + '/../../app/controllers/concerns/my_concern'

Я получаю следующую ошибку при запуске задачи:

NameError: неопределенная локальная переменная или метод my_object для main:Object

Кстати, объект имеет значение.

Я скучаю по любому требовать? (в мою задачу я включаю только файл, упомянутый выше)

1 ответ

Решение

Я заставил его работать, создав службу, которая включает файл концерна, и таким образом я могу использовать объекты концерна. Я до сих пор не уверен, что это правильный способ, но он работает.

В папке служб 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
Другие вопросы по тегам