Hanami rake 任务不加载存储库
Hanami rake task does not load repositories
我有一个名为 booking
的 hanami 1.3.0 应用程序。 /rakelib/motel.rake
中有 rake 任务:
require_relative '../lib/booking' # it requires booking/motel/booker file
namespace :motel do
task :book do
Booking::Motel::Booker.new.book
end
end
booking/motel/booker
需要 booking_repository 文件,并尝试实例化 BookingRepository,但失败并出现错误:
NameError: uninitialized constant Hanami::Repository
<root>/lib/booking/repositories/booking_repository.rb:1:in <top (required)>'
但是,当我 运行 Booking::Motel::Booker.new.book
在 hanami 控制台中时,它加载 BookingRepository
没有问题。
查看了许多关于花见耙的堆栈问题,但找不到答案。
事实证明,这是一个愚蠢的错误。我忘了将 :environment
添加到我的任务中。
namespace :motel do
task book: :environment do
Booking::Motel::Booker.new.book
end
end
这当然解决了问题,不再需要使用手动文件加载。
我有一个名为 booking
的 hanami 1.3.0 应用程序。 /rakelib/motel.rake
中有 rake 任务:
require_relative '../lib/booking' # it requires booking/motel/booker file
namespace :motel do
task :book do
Booking::Motel::Booker.new.book
end
end
booking/motel/booker
需要 booking_repository 文件,并尝试实例化 BookingRepository,但失败并出现错误:
NameError: uninitialized constant Hanami::Repository
<root>/lib/booking/repositories/booking_repository.rb:1:in <top (required)>'
但是,当我 运行 Booking::Motel::Booker.new.book
在 hanami 控制台中时,它加载 BookingRepository
没有问题。
查看了许多关于花见耙的堆栈问题,但找不到答案。
事实证明,这是一个愚蠢的错误。我忘了将 :environment
添加到我的任务中。
namespace :motel do
task book: :environment do
Booking::Motel::Booker.new.book
end
end
这当然解决了问题,不再需要使用手动文件加载。