如何在 Rake 任务中要求 Rails 服务/模块?
我遇到了同样的问题并设法通过在 rake 任务中要求 rails 文件来解决它。
give_something
我在文件中定义了一个名为 rake 的任务lib/tasks/a_task.rake
。
在该任务中,我需要从文件中give_something
的模块调用函数AService
app/services/a_service.rb
rake 任务定义如下:
namespace :a_namespace do
desc "give something to a list of users"
task give_something: :environment do
AService.give_something(something, users)
end
end
我收到了错误:uninitialized constant AService
为了解决它,我不得不在文件的开头而不是在a_task.rake
rake 任务中要求模块:
namespace :a_namespace do
desc "give something to a list of users"
task give_something: :environment do
require 'services/a_service' # <-- HERE!
AService.give_something(something, users)
end
end