rails new完全ガイド!テンプレート・フラグ・--skip系オプションを初心者向けに徹底解説
生徒
「Railsのプロジェクトを作るときに使うrails newって、いろいろなオプションがあってよく分かりません……。」
先生
「rails newは、Railsのアプリケーションを最初に作るときに使うコマンドです。オプションを使いこなすと、開発しやすい環境がすぐ作れますよ。」
生徒
「どんなオプションがあるんですか?初心者でもわかるように教えてください!」
先生
「もちろんです!テンプレート、便利なフラグ、そして--skip系の使い方を一緒に学びましょう!」
1. rails newとは?
rails newは、Ruby on Rails(ルビー・オン・レイルズ)というWebアプリケーションの仕組みを使って、新しいアプリを作るための最初の一歩です。まるで空っぽのノートにタイトルを書いて、ページのフォーマットを決めるようなイメージです。
このコマンドを使うと、必要なファイルやフォルダ、初期設定が自動で作られます。
rails new myapp
この例では、「myapp」という名前の新しいアプリを作ることになります。
2. テンプレートを使って自動設定する
テンプレートとは、事前に作られた設定ファイルのことです。例えば、「このアプリはログイン機能を最初から入れておきたい」「Bootstrapという見た目を整える仕組みを入れたい」といった要望をまとめておくことができます。
テンプレートは、--templateオプションで指定できます。
rails new myapp --template=template.rb
テンプレートファイル(たとえば template.rb)には、Gem(ジェム:便利な追加機能)を追加したり、設定ファイルをカスタマイズするコードを書いておきます。
3. よく使うフラグ(--skip 以外)
フラグとは、「これをしてほしい!」という命令のようなものです。例えば次のようなフラグがあります。
--api:APIモードでアプリを作ります。Web画面ではなく、データのやりとり中心のアプリ用。--css:CSSの仕組みを選べます。たとえばbootstrapやtailwindなど。--database:データベースの種類を選べます。デフォルトはsqlite3ですが、postgresqlなどにも変更可能です。
たとえばPostgreSQLを使いたいときは、次のように書きます。
rails new myapp --database=postgresql
4. --skip系オプションの使い分け
--skipは「これはいらないよ!」とRailsに伝えるためのオプションです。初心者には少し難しそうに見えますが、不要なものを省くことでアプリをシンプルに保てます。
--skip-test:テスト機能を省きます。--skip-javascript:JavaScriptファイルを生成しません。--skip-active-record:データベース機能を使いません。--skip-action-mailer:メール送信機能を使いません。--skip-hotwire:Hotwire(リアルタイム表示機能)をスキップ。
例えば「JavaScriptはいらないし、テストもまだ使わない」という場合は、こう書けます。
rails new myapp --skip-javascript --skip-test
初めての学習では、何も省かずにそのまま使ってみるのもおすすめです。
5. よくある組み合わせ例
実際の開発では、次のような組み合わせでプロジェクトを作ることが多いです。
API専用アプリ(Web画面なし)
rails new my_api_app --api --skip-active-storage --skip-action-mailbox --skip-action-text
軽量な学習用アプリ
rails new sample_app --skip-hotwire --skip-javascript --skip-action-mailer
アプリの目的に応じて、オプションを使い分けましょう。
6. オプションの確認方法
rails newにどんなオプションがあるか分からなくなったときは、--helpを使えば一覧が見られます。
rails new --help
たくさん出てきますが、最初はよく使うものだけ覚えれば大丈夫です。
7. 初心者におすすめの使い方
最初は、次のように最低限の構成で始めてみましょう。
rails new myapp
これでviews(ビュー)、controllers(コントローラ)、models(モデル)など、Railsの基本構造がすべて入ったプロジェクトができます。
オプションを加えるのは、「もう少し慣れてから」で十分です。最初は環境構築でつまづかず、アプリを動かす楽しさを感じることが大切です。
まとめ
この記事では、Railsアプリケーションを作成する際に必ず使うrails newコマンドについて、その仕組みやテンプレートの使い方、各フラグの役割、そして初心者がつまずきやすい--skip系オプションの活用方法を丁寧に整理しました。rails new は単なるプロジェクトの作成コマンドではなく、アプリケーションの性質や構造、導入する機能を左右する、とても重要な役目を持っています。オプションを理解して使い分けることで、開発効率が上がり、無駄のないカスタマイズが可能になり、自分だけの環境を手早く整えられるようになります。
特に、テンプレート機能を使えば最初から必要なGemや設定を自動で組み込むことができ、学習用途から本格的なサービス開発まで、柔軟にRailsを立ち上げられます。また、--cssや--databaseなどのフラグを用いれば、アプリの基盤となるデザイン環境やデータベースの方式をコマンド一つで指定でき、後の設定作業を大きく減らせます。
一方で、--skip系オプションはアプリの構成をシンプルに保つために非常に有効です。不要な機能を最初から省くことで、余計なファイルが生成されず、学習時にも理解しやすい構造になります。テストを省きたい場合、JavaScriptを使わない場合、API専用アプリを作りたい場合など、目的に応じて選べる仕組みが整っている点はRailsの強みです。
また、rails new のオプションは種類が多く最初は混乱しやすいですが、実際には日常的に使うものは限られています。初心者はまず基本構成でアプリを作り、その後に必要に応じてオプションを使い分けていく方法が最も効率的です。Railsは柔軟で奥深いフレームワークであり、自分の用途に合わせて環境を自在にカスタマイズできる点が魅力です。今回の内容を理解しておくことで、今後の実務や学習においても「どの構成でプロジェクトを立ち上げるべきか」を判断できるようになります。
rails new の使い方まとめとサンプルコード
基本的なプロジェクト作成
rails new myapp
テンプレートを使う例
rails new myapp --template=template.rb
便利なフラグの例
rails new myapp --database=postgresql --css=tailwind
--skip 系の活用例
rails new api_app --api --skip-active-storage --skip-action-mailbox
rails new simple_app --skip-javascript --skip-test
rails new のオプションは、学習の段階によって使い方が変わります。最初は標準構成でRailsに触れ、慣れてきたらテンプレートやフラグを活用し、徐々に自分好みのセットアップを作り上げていく流れが自然です。アプリケーションを自由にカスタマイズできるということは、開発者が思い描いた設計に近い形を作り上げられるということであり、Railsの楽しさを感じられる瞬間でもあります。
生徒:「rails new のオプションってこんなに自由にカスタマイズできるんですね!毎回決まった形で作るだけだと思っていました。」
先生:「そうなんです。アプリの目的や規模に応じて最適な構成に変えられるのがRailsの魅力ですよ。」
生徒:「テンプレートを使えば最初から必要な設定を一気に入れられるのも便利ですね。効率が良い感じがします。」
先生:「テンプレートは実務でもよく使われます。チーム全体で共通のセットアップを作ると、開発がスムーズになりますよ。」
生徒:「--skip 系を使えば、学習中は余計な機能を省いて理解しやすくできそうです!」
先生:「その通りです。目的に応じて必要なものだけを残すと、コードの見通しが良くなりますからね。」
生徒:「今日学んだオプションを使いこなせば、プロジェクトを作るのがもっと楽しくなりそうです!」
先生:「少しずつ覚えていけば大丈夫です。まずは基本構成で作ってみて、慣れてきたら色々試してみましょう。」