私は、いくつかの同じメソッドを共有する一連の Rails ジェネレーターを作成しています。これらのメソッドを独自のモジュールまたはクラスに抽象化して、各ジェネレーター内で再利用 (ただし、自動的には起動されません) したいと考えています。
私の最近の試みは、ヘルパーファイルを自動ロードし、後でそれを含めることでした:
lib/my_gem/engine.rb
module MyGem
class Engine < Rails::Engine
config.autoload_paths += Dir["#{config.root}/lib/helpers/**"]
end
end
lib/helpers/generators_helper.rb
module MyGem
module GeneratorsHelper
def some_method
# ...
end
end
end
lib/generators/my_gem/my_generator.rb
# ...
include MyGem::GeneratorsHelper
# ...
しかし、私は次のようなものを見るでしょうError: uninitialized constant MyGem::GeneratorsHelper.