カテゴリ: Rails 更新日: 2025/12/27

Railsで社内標準テンプレートを作ろう!初心者向けプロジェクト雛形のテンプレート化手順

社内標準テンプレ作成:プロジェクト雛形をテンプレート化する手順
社内標準テンプレ作成:プロジェクト雛形をテンプレート化する手順

先生と生徒の会話形式で理解しよう

生徒

「Railsアプリの新規作成って毎回同じ設定をやってる気がします…もっと効率よくできませんか?」

先生

「とてもいい気づきですね。それならプロジェクトの雛形をテンプレート化すると便利ですよ。」

生徒

「テンプレートって、どこかからコピーしてくる感じですか?」

先生

「はい。あらかじめ設定済みの雛形を用意しておけば、新しいRailsアプリを一瞬で同じ形に作れるんです。順を追って説明しましょう!」

1. 雛形(テンプレート)を作る目的とは?

1. 雛形(テンプレート)を作る目的とは?
1. 雛形(テンプレート)を作る目的とは?

Railsで新しいプロジェクトを作るとき、rails newコマンドによって基本的な構成は自動生成されます。しかし、実際の開発では毎回同じgemを追加したり、設定ファイルを書き換えたりする作業が何度も発生し、時間がかかりがちです。

そこで役立つのがRailsテンプレートです。テンプレートを用意しておけば、プロジェクト作成時に自動で設定を適用でき、初期作業を大幅に短縮できます。たとえば、よく使うGemを毎回追加しているのであれば、テンプレート側に書いておくだけで、プロジェクト作成と同時に反映されます。

初心者でも仕組みを理解しやすいように、非常に簡単なテンプレート例を見てみましょう。


# Gemfileにpryを追加するだけのテンプレート例
gem 'pry-byebug'

after_bundle do
  say "pry-byebug をインストールしました!", :green
end

このように、Rubyで数行書くだけで「rails new のたびに行っていた作業」を自動化できます。手作業が減るだけでなく、チーム内で同じ構成を共有できるため、開発のスタート地点を揃えやすいというメリットもあります。

2. Railsテンプレートの基本的な考え方

2. Railsテンプレートの基本的な考え方
2. Railsテンプレートの基本的な考え方

テンプレートとは、Railsプロジェクトの自動カスタマイズスクリプトのようなものです。通常は人が手で行っている「Gemを追加する」「設定ファイルを書き換える」「不要なファイルを削除する」といった作業を、Rubyコードとしてあらかじめ書いておき、rails newのタイミングでまとめて実行できる仕組みです。

もう少しイメージしやすく言うと、テンプレートは「新規Railsアプリ作成時にだけ動く小さなRubyプログラム」です。そのプログラムの中で、Gemfileを編集したり、コマンドを実行したり、ファイルをコピーしたりできます。毎回同じ初期設定を行う場合、このテンプレートを使うことで作業を自動化できます。

たとえば、プロジェクトを作るたびに日本語化用のGemを追加したい場合、テンプレートには次のようなコードを書きます。


# Railsテンプレートのごく簡単なイメージ例
say "テンプレートを適用しています...", :green

gem "rails-i18n"

after_bundle do
  say "rails-i18n の準備ができました!", :green
end

このように、テンプレートは「新規Railsアプリにどんな初期設定を施すか」をRubyで表現したものです。どのプロジェクトでも共通で使いたい設定をまとめておくことで、社内標準の雛形として活用しやすくなります。

3. テンプレートを使ったrails newの書き方

3. テンプレートを使ったrails newの書き方
3. テンプレートを使ったrails newの書き方

テンプレートを使うときは、rails newコマンドにオプションを1つ足すだけです。基本形は次のようになります。


# インターネット上(GitHubなど)にあるテンプレートを使う例
rails new my_app -m https://example.com/path/to/template.rb

# 手元のPCに置いたテンプレートファイルを使う例
rails new my_app -m ./template.rb

my_appの部分が「新しく作るRailsアプリの名前」、-m--templateの省略形で「このテンプレートファイルを読み込んでください」という意味です。続けて書いているhttps://〜./template.rbは、テンプレートファイルの場所(URLまたはファイルパス)を指しています。

たとえば、社内で共通利用するテンプレートをGitHubに置いておけば、開発者はみんな同じコマンドを1行実行するだけで、同じ構成のRailsアプリを素早く立ち上げられます。ローカルにテンプレートを保存しておきたい場合でも、./template.rbのように相対パスを指定するだけなので、コマンド操作に不慣れな人でも扱いやすいのが特徴です。

4. テンプレートの中身ってどうなってるの?

4. テンプレートの中身ってどうなってるの?
4. テンプレートの中身ってどうなってるの?

テンプレートファイルは、拡張子が.rbの「普通のRubyファイル」です。ただし、アプリ本体の処理を書くのではなく、新規Railsアプリを作るときに自動で実行される手順書のような役割を持っています。上から順番に読み込まれ、書いてある命令どおりに、Gemの追加や設定ファイルの編集が行われます。

イメージしやすいように、少しだけ中身をのぞいてみましょう。


# テンプレートが動いていることを画面に表示
say "テンプレートを適用しています...", :green

# Gemfile に devise を追記
gem "devise"

# bundle install が終わってから実行したい処理
after_bundle do
  # devise の初期設定用コマンドを自動で実行
  generate "devise:install"
  say "Devise の初期設定が完了しました!", :green
end

sayは、ターミナルにメッセージを表示するための命令です。gem "devise"は、GemfileにdeviseというGemを追記しなさい、という意味になります。そしてafter_bundle do ... endの部分には、「bundle installが終わったあとに実行したい処理」をまとめて書きます。ここではgenerate "devise:install"によって、手作業なら自分で叩いていたコマンドをテンプレート側で代わりに実行してくれています。

このように、テンプレートの中身は「新規プロジェクトをどういう状態に仕上げたいか」をRubyのコードで並べたものです。最初は何をしているか分からなくても、gemは「Gemを追加」、generateは「コマンドを自動実行」、after_bundleは「インストール後の処理」といった大まかなイメージをつかんでおくだけでも、Railsテンプレートの全体像がぐっと理解しやすくなります。

5. 実際のテンプレート構成例

5. 実際のテンプレート構成例
5. 実際のテンプレート構成例

以下のような処理をテンプレートに組み込むことができます:

  • Gemの追加(devise, kaminari, rubocopなど)
  • 環境設定ファイルの自動変更
  • デフォルトレイアウトやパーシャルのコピー
  • rspecなどテスト環境の自動整備
  • git initと初期コミット

これをテンプレート化すれば、毎回の初期設定が一瞬で終わります。

6. テンプレートを社内標準として使うには?

6. テンプレートを社内標準として使うには?
6. テンプレートを社内標準として使うには?

作ったテンプレートを社内で共有するには、次のような方法があります:

  • GitHubにアップロードし、全員がURL指定で使えるようにする
  • 専用のテンプレートリポジトリを作って、READMEに使い方を明記する
  • ローカルに配置しておき、rails new myapp -m ./template.rbのように使う

誰が使っても同じ構成になるため、プロジェクト間のばらつきが減り、保守もしやすくなります。

7. よくあるテンプレートの使い方例

7. よくあるテンプレートの使い方例
7. よくあるテンプレートの使い方例

Railsテンプレートでよく行う作業の例です:

  • rails g controller pages homeを実行してトップページを作る
  • application.html.erb に Bootstrap CDN を追加する
  • rubocop.yml や .gitignore をコピーして初期設定を揃える
  • ロゴやfaviconを追加して統一感を持たせる

こういった作業を毎回手でやるのは大変ですが、テンプレートなら1回の実行で完了です。

8. テンプレート化するときの注意点

8. テンプレート化するときの注意点
8. テンプレート化するときの注意点

テンプレートファイルを書くときの注意点はこちらです:

  • Ruby構文のエラーに気をつける(実行中は中断されます)
  • ファイルパスやコマンドのミスで動かなくなることもある
  • 毎回同じ構成になるので、プロジェクトに合わせた微調整が必要な場合もある

まずは小さなテンプレートから始めて、徐々に育てていくのがおすすめです。

9. テンプレート化の効果は?

9. テンプレート化の効果は?
9. テンプレート化の効果は?

テンプレート化によって得られる効果は以下の通りです:

  • 新規Railsアプリの立ち上げ時間が大幅に短縮される
  • チーム内での構成統一ができて保守性が向上
  • 手作業によるミスの防止になる

特にチームでRailsを使っている場合、テンプレートは強力な武器になります。

10. はじめてのテンプレート作りにチャレンジしよう

10. はじめてのテンプレート作りにチャレンジしよう
10. はじめてのテンプレート作りにチャレンジしよう

最初は「Gemを1つ追加するだけ」「トップページを作成するだけ」でもOKです。

テンプレートはRubyで書けるので、RailsやRubyの学習にもつながります。毎回の作業を自動化して、もっと楽しく、効率的にRails開発を進めましょう。

関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
No.2
Java&Spring記事人気No2
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.3
Java&Spring記事人気No3
Ruby
Rubyのハッシュを徹底比較!シンボルキーと文字列キーの違いと使い分け
No.4
Java&Spring記事人気No4
Rails
Railsマイグレーションの型選びを完全ガイド!初心者が迷わないカラム設計
No.5
Java&Spring記事人気No5
Ruby
WindowsでRubyをインストールする方法!RubyInstallerとMSYS2を使った完全ガイド
No.6
Java&Spring記事人気No6
Rails
RailsモデルとActive Record基礎|ID戦略を完全理解!AUTO INCREMENT・UUID・ULIDの比較と導入手順
No.7
Java&Spring記事人気No7
データベース
ACID特性とは?データベーストランザクションの信頼性を初心者向けに徹底解説
No.8
Java&Spring記事人気No8
データベース
データベース正規化とは?初心者でもわかるデータ重複を防ぐSQL設計の基本