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

Railsのジェネレータをカスタマイズしよう!初心者でもできる.railsrcとconfig設定

ジェネレータのカスタム:.railsrc と config/application.rb で既定を上書き
ジェネレータのカスタム:.railsrc と config/application.rb で既定を上書き

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

生徒

「Railsでrails gコマンドを使うと、いろんなファイルが自動で作られるんですけど、使わないファイルまで一緒にできて困ってます……」

先生

「たしかに、そのままだとヘルパーやCSSファイルなどが勝手に作られますよね。でも、実はジェネレータの動きを自分の好みにカスタマイズできるんですよ。」

生徒

「えっ、そんなことできるんですか!?それって難しいですか?」

先生

「大丈夫!.railsrcというファイルとconfig/application.rbという設定を使えば、簡単にできますよ。詳しく解説していきましょう。」

1. ジェネレータとは?

1. ジェネレータとは?
1. ジェネレータとは?

ジェネレータ(generator)とは、rails g controllerなどのコマンドで、Railsがファイルを自動生成してくれる便利な仕組みです。

たとえば、コントローラを作成するときにこんな風に使います。


rails g controller users index show

すると、コントローラ・ビュー・ヘルパー・テストファイルなど、いろんなファイルが一気に作られます。

でも、実際には使わないファイルが多いこともありますよね。そんなときに、ジェネレータのカスタマイズが役立つのです。

2. プロジェクト全体の設定はconfig/application.rbで

2. プロジェクト全体の設定はconfig/application.rbで
2. プロジェクト全体の設定はconfig/application.rbで

Railsのプロジェクトを作成したあとに、すべてのジェネレータの動作を変更したい場合は、config/application.rbに設定を追加します。

たとえば、「ヘルパーファイル」や「アセットファイル(CSSやJS)」を作らないようにしたい場合は、次のように書きます。


# config/application.rb
module MyApp
  class Application < Rails::Application
    config.generators do |g|
      g.helper false
      g.assets false
      g.test_framework :rspec, fixture: false
    end
  end
end

config.generatorsという部分で、細かいルールを定義できます。必要なものだけを残して、いらないファイルを作らないように設定できるのです。

3. プロジェクト作成時の設定は.railsrcで

3. プロジェクト作成時の設定は.railsrcで
3. プロジェクト作成時の設定は.railsrcで

Railsの新しいプロジェクトを作るとき、rails newコマンドを毎回細かくオプション指定していると、手間ですよね。

そんなときに使えるのが、ホームディレクトリに置く.railsrcというファイルです。

このファイルに、いつも使うオプションをあらかじめ書いておけば、毎回入力する必要がなくなります。


--skip-test
--skip-javascript
--skip-turbolinks
--database=postgresql

このように書いておけば、次にrails new myappとするだけで、指定したオプションが自動で反映されます。

4. .railsrcを使う手順

4. .railsrcを使う手順
4. .railsrcを使う手順

.railsrcは、パソコンの「ホームディレクトリ」に置く設定ファイルです。ホームディレクトリとは、WindowsならC:\Users\ユーザー名、MacやLinuxなら/Users/ユーザー名などになります。

そこに.railsrcという名前でファイルを作成して、Railsの初期オプションを書いておきましょう。

例:


--skip-active-storage
--skip-action-mailbox
--skip-action-text
--css=tailwind

このようにしておけば、新しくRailsアプリを作成するときの設定が統一されて、作業効率がぐんと上がります。

5. カスタマイズで作業効率アップ!

5. カスタマイズで作業効率アップ!
5. カスタマイズで作業効率アップ!

たとえば、開発で「ヘルパーを使わない」「テストを別ライブラリで書く」など、毎回決まった方針がある場合、ジェネレータの設定を変更しておけば、不要なファイルを毎回削除する手間がなくなります。

初心者にとっても、必要なファイルだけが生成されるようになるので、コードの全体像が把握しやすくなるというメリットもあります。

6. よく使うジェネレータ設定一覧

6. よく使うジェネレータ設定一覧
6. よく使うジェネレータ設定一覧

configや.railsrcで設定できる項目には、次のようなものがあります。

項目 説明
g.helper false ヘルパーファイルを作らない
g.assets false CSSやJSファイルを作らない
g.test_framework :rspec テストにRSpecを使う
--skip-test テストファイルを作成しない(.railsrc)
--database=mysql データベースにMySQLを指定(.railsrc)

このようなカスタマイズを行えば、Rails開発を自分のスタイルに合わせて効率化することができます。

7. 初心者でも安心!設定はあとから変更できる

7. 初心者でも安心!設定はあとから変更できる
7. 初心者でも安心!設定はあとから変更できる

config/application.rbも.railsrcも、設定をあとから見直して書き換えることができます。最初はわからなくても、少しずつ自分に合った形に調整していけば大丈夫です。

毎回使う設定は.railsrcに、プロジェクトごとの細かい設定はapplication.rbに、と使い分けることで、Railsの開発がもっと楽になります。

まとめ

まとめ
まとめ

この記事では、Railsにおけるジェネレータの仕組みと、開発を効率化するためのカスタマイズ方法について、初心者にも理解しやすい形でじっくりと解説しました。Railsは「設定より規約」という考え方が基本にあるため、デフォルトでは多数のファイルが自動で生成されるようになっています。しかし、実際の現場ではプロジェクトの規模や開発スタイルによって必要なファイルが異なるため、ジェネレータをそのまま使うと不要なファイルが増えてしまい、管理が難しくなったり、学習途中だとどれが必要でどれが不要なのか判断しにくい場面も出てきます。 そこで役立つのが、config/application.rb.railsrcを使ったジェネレータのカスタマイズです。プロジェクトごとの設定、環境構築時の自動設定、不要なファイル生成の抑制など、Railsが本来持っている柔軟性を活かすことで、開発体験をぐっと快適にすることができます。

特にconfig/application.rbに書くジェネレータ設定は、プロジェクト全体のファイル生成ルールを統一できるため、複数人で開発する場合にも効果を発揮します。たとえば、ヘルパーやスタイルシートの自動生成を止めることでプロジェクトの構造がすっきりし、無駄なファイルを増やさずに済みます。さらに、テストフレームワークをRSpecに統一したいという場合には、config.generatorsでRSpecを指定するだけで、今後作成するコントローラやモデルに対してRSpec用のファイルが自動的に生成されます。

一方で、.railsrcは新規プロジェクト作成時の設定を自動化する役割があります。これはRails初心者にとって非常に便利な仕組みで、毎回同じオプションを打ち込む手間が省けるだけでなく、環境を統一したプロジェクトを素早く作れるようになります。とくに、CSSフレームワークやデータベースの指定、テスト生成の有無など、Railsアプリの初期構成が毎回異なると学習しにくくなるため、自分に合ったテンプレートを作っておくと開発がスムーズになります。

実際には、Rails開発ではジェネレータの設定を意識する場面が多く、知っておくだけで余計な作業が減り、プロジェクト全体のメンテナンス性も向上します。たとえば、不要なCSSファイルを毎回削除する必要がなくなるだけでも時間の節約になりますし、必要なテストだけが生成されるようにしておくことで開発効率が大きく変わります。 また、学習段階の初心者にとっても、ジェネレータの動きを理解しておくと、Railsのファイル構造や目的の理解が深まり、アプリ全体の流れがつかみやすくなるという大きなメリットがあります。

実例で理解するジェネレータ設定

たとえば、「コントローラ生成時にヘルパーとCSSを作りたくない」という場合は、次のように設定します。


# config/application.rb
module SampleApp
  class Application < Rails::Application
    config.generators do |g|
      g.helper false
      g.assets false
    end
  end
end

この設定により、次にコントローラを作成したとき、最低限のファイルだけが生成されるようになります。Railsではこのように「自動生成されるものを必要最小限に保つ」という工夫がとても重要で、開発を続けるほどその効果を大きく実感できます。

.railsrcでプロジェクト作成をもっと便利にする

新しいアプリを作るたびに「--skip-test」や「--css=tailwind」といったオプションを打つのが面倒な場合は、ホームディレクトリに.railsrcを用意し、次のように設定を書いておきます。


--skip-test
--css=tailwind
--database=postgresql

こうしておくだけで、rails newを実行するたびに設定が反映され、毎回自分好みの構成のアプリが作れるようになります。Rails初心者であっても、この設定ファイルを使いこなせば、開発開始までの準備がとてもスムーズになります。

ジェネレータの設定はRails開発をシンプルに保つための大きな味方です。無駄なファイル生成を抑え、必要な構成だけを保つことで、コードの読みやすさと管理のしやすさが向上します。Railsを学ぶ過程で、これらの設定を理解し、少しずつ自分の開発スタイルに合わせて調整していくことが、より快適で効率的な開発につながります。

先生と生徒の振り返り会話

生徒

「ジェネレータって、自動でいろいろ作ってくれる便利なものだと思っていたけれど、設定を変えるだけでこんなに便利になるんですね!」

先生

「そうですね。目的に合わせて必要なファイルだけを作るようにすれば、作業が楽になりますし、プロジェクト全体も整理された状態を保てますよ。」

生徒

「確かに、いらないファイルを毎回削除していたので、最初から作られないようにできるのはありがたいです!」

先生

「その調子で、.railsrcconfig/application.rbを上手に活用すれば、自分に合ったRails開発環境を作れますよ。」

関連記事:
カテゴリの一覧へ
新着記事
New1
データベース
SQLの処理が遅くなる原因とは?初心者向けにデータベースパフォーマンス最適化を完全解説
New2
Ruby
RubyのネストHash操作を徹底解説!digとtransformメソッドで複雑なデータも楽々
New3
Rails
Railsインデックス設計の極意!爆速サイトを作るためのスキーマ設計ガイド
New4
データベース
SQLのCOMMITとROLLBACKとは?トランザクション操作を初心者向けに完全解説
人気記事
No.1
Java&Spring記事人気No1
Ruby
PATHと環境変数の正しい設定!Windows・Mac・Linux別チェックリスト付き
No.2
Java&Spring記事人気No2
Rails
Railsで日本語と時刻の設定をしよう!初心者でも安心のlocale/zone初期設定チートシート
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
Rails
RailsモデルとActive Record基礎|クエリログの読み方を理解してEXPLAIN・joins・includesの違いを学ぼう