0

isolate_namespace Railsエンジンのgemである親モジュール内に子モジュールをネストするための適切な構文は何ですか?

# lib/myengine/engine.rb
module MyEngine
  class Engine < Rails::Engine
    isolate_namespace Myengine
    # def ...
  end
end

例えば。親モジュールは MyEngine で、子モジュールは Blog です。MyEngine は CRUD、Taggable、Searchable などの共通ドメインを共有し、Gem コードを DRY に保ち、メイン アプリ (MyApp) から分離しながら、分離された名前空間とエンジンを継承します。

2つのアプローチのどちらが正しいですか? リファクタリングのアドバイスはありますか?

# A
# lib/myengine/blog.rb
module MyEngine
  module Blog
    # def ...
  end
end

# B
# lib/myengine/blog.rb
module MyEngine
  class Engine < Rails::Engine
    isolate_namespace Myengine
    module Blog
      # def ...
    end
  end
end
4

1 に答える 1