質問: Ruby on Railsチュートリアルを2周くらいして、それをベースに投稿できて閲覧できるくらいのページをやっと作れるようになったものです。 Ruby on Railsで将来Webサービスを作るに当たり、1つのサイトの中にそれぞれ違う機能をもったWEBサイトを作りたいと思っています。(herokuの有料プラン1つに詰め込みたいです) ホーム画面から各WEBサイトにリンクができて、全ページの一番上には同じホーム画面へのリンクを表示したいです。一見すると違うWEBサービスなんですが全体的にはひとつのドメインの中にあるというものを作ろうと思っています。 コントローラーやモデル、スタイルシート、viewsの中のlayoutsファイルなどいろんなものがごちゃごちゃしてきそうなのですが、そういった経験をお持ちの方や、使い分けの工夫や、命名の工夫などをされている方がいらっしゃれば、お知恵をお借りしたいです。 また、1つのアプリの中に機能を盛り込んでいくメリット・デメリット、発想が間違っていれば代替の方法、必要な知識があれば何を勉強したほうがいいかなどご教示いただければ助かります。ぜひ宜しくおねがいします。
回答: 共通部分が多いなら Rails Engine を使う手もあります ただし複数サービスと言うより1サービスで機能分割するイメージです 共通部分が少ないと手間の割に恩恵は少ないでしょうし、共通部分が無ければ同居の意味はありません 注意点としては参考記事の通り、若干レールから外れるのでデプロイやmigrateなど工夫が必要になります 参考: Rails エンジンによる脱 Microservices 化のススメ ※) heroku へのデプロイがどうなるかという懸念もありありますね