Я пытаюсь перейти с Rails 5 на 6. Я сделал шаги по обновлению, включая добавление этого:
# config/application.rb
config.load_defaults 6.0
У меня есть этот класс:
# lib/notification/auto_thank.rb
module Notification
class AutoThank
def perform
# stuff
end
end
end
Который используетсяв задаче:
namespace :notify do
task auto_thank: :environment do
Notification::AutoThank.new.perform
end
end
Когда я делаю puts config.autoload_paths
, он отображается в списке, поэтому я ожидаю, что он автоматически загрузится:
/my/app/path/lib/notification/auto_thank.rb
Но когда я запускаюзадача Я получаю сообщение об ошибке:
NameError: неинициализированная константа Уведомление
Становится странным. Когда я добавляю требование к задаче:
task auto_thank: :environment do
require '/my/app/path/lib/notification/auto_thank.rb'
Notification::AutoThank.new.perform
end
, я получаю другую ошибку:
NameError: ожидаемый файл / my / app / path / lib / messages / auto_thank. рб для определения константы AutoThank, но не
Чего мне не хватает?