- Ruby / Rails関連
READ MORE
原著者の許諾を得て翻訳・公開いたします。
日本語タイトルは内容に即したものにしました。
rails new
の生成を最小限にするフラグが追加(翻訳)Railsアプリケーションを新たに生成する場合、デフォルトではモダンなフルスタックWebアプリケーションを構築するのに必要なフレームワーク機能を可能な限りすべて取り入れます。
しかし、Railsの機能をすべて使いたい人ばかりではありません。たとえば、アプリケーションでAction CableやAction Mailbox、Action Textを必要としない場合、アプリケーションを生成するときに以下のようにそうしたフレームワーク機能の導入をスキップするフラグを指定します。
rails new my_awesome_app --skip-action-text --skip-action-cable\
--skip-action-mailbox
この機能があるにもかかわらず、フレームワークの追加機能をすべて除外した最小限の「素の」Railsが欲しいという声もありました。実際、ミニマリストが以下のようにフラグを渡すことも珍しくありません。
rails new my_awesome_app --skip-spring --skip-listen --skip-bootsnap\
--skip-action-text --skip-active-storage --skip-action-cable\
--skip-action-mailer --skip-action-mailbox --skip-test\
--skip-system-test --skip-active-job
そのためには、Railsにデフォルトでどんなフレームワーク機能が含まれるかを知ったうえで不要な機能をスキップする必要がありました。
Railsアプリケーションを生成するときに、以下の方法で最小限のフレームワーク機能だけを持たせられるようになりました(#39282)。
rails new my_awesome_app --minimal
--minimal
を指定することで、以下のフレームワーク機能がすべてスキップされ、ベアボーンのRailsアプリケーションを得られます。
- action_cable
- action_mailbox
- action_mailer
- action_text
- active_job
- active_storage
- bootsnap
- jbuilder
- spring
- system_tests
- turbolinks
- webpack
これでユーザーは自分のユースケースにふさわしい極めて軽量なアプリケーションを手軽に生成できます。
#39444では、アプリケーションを生成するときに--interactive
フラグを指定することで、必要なフレームワーク機能をインタラクティブに選べる機能の導入が計画されています。