Hanami Rake任务不加载存储库

时间:2019-01-21 18:45:07

标签: ruby hanami

我有一个名为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)>'

但是,当我在hanami控制台中运行Booking::Motel::Booker.new.book时,它会毫无问题地加载BookingRepository

查看了许多有关hanami rake的问题,但找不到答案。

1 个答案:

答案 0 :(得分:2)

事实证明,这是一个愚蠢的错误。我忘记在任务中添加:environment

namespace :motel do
  task book: :environment do
    Booking::Motel::Booker.new.book
  end
end

修复了该问题,并取消了使用手动文件加载的需求。