はっさんブログ

自分の発見を共有します。

機能が増えたRailsアプリケーションをRails Engineで分割する【vol.1】

背景

Railsの開発を続けていると、機能が増えてアプリケーションを分けたいなと思う時があります。

例えば、メインアプリ・管理者画面・API (内部/外部)...etcがあって、それぞれでのみ使用するコードが共通部分に記載されていると管理が大変になります。

Rails Engineを使うことでMVC、扱うgem、assets、initializers等をEngineごとに分離させることができます。

また、各Engineを同一リポジトリ内で管理することができ、ディレクトリ構成もスッキリさせることができます。

続きを読む