我有一个名为booking的HANAMI1.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
endbooking/motel/booker需要booking_repository文件,并尝试实例化BookingRepository,但失败并返回错误:
NameError: uninitialized constant Hanami::Repository
<root>/lib/booking/repositories/booking_repository.rb:1:in <top (required)>'但是,当我在hanami控制台中运行Booking::Motel::Booker.new.book时,它加载BookingRepository没有问题。
查看了许多关于hanami rake的堆栈问题,但找不到答案。
发布于 2019-01-22 02:57:24
事实证明,这是一个愚蠢的错误。我忘记将:environment添加到我的任务中。
namespace :motel do
task book: :environment do
Booking::Motel::Booker.new.book
end
end当然,这解决了这个问题,并且不再需要使用手动文件加载。
https://stackoverflow.com/questions/54296096
复制相似问题