Причина этого Константы автозагрузки и перезагрузки . Когда вы пытаетесь получить доступ к PerkspotService
, у него нет Audit::Services
и нет файла audit/services.rb
. Есть несколько способов решить эту проблему. Вы можете предопределить пространства имен в application.rb
следующим образом:
Audit = Module.new
Audit::Services = Module.new
Вы можете попытаться обернуть PerkspotService
в пространство имен, например:
module Audit::Services
class PerkspotService < TopLevelService
...
end
end
Наконец, и, возможно, правильный способ сделать это должно следовать правилам, описанным в предоставленной ссылке. Вам нужно будет сопоставить путь к файлу с именем определения. Таким образом, Audit::Services::TopLevelService
должен быть файлом с именем: audit/services/top_level_service.rb
в одной из папок автозагрузки.