我正在尝试从 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/notification/auto_thank.rb 来定义常量 AutoThank,但没有
我错过了什么?