Railsのジェネレータをカスタマイズしよう!初心者でもできる.railsrcとconfig設定
生徒
「Railsでrails gコマンドを使うと、いろんなファイルが自動で作られるんですけど、使わないファイルまで一緒にできて困ってます……」
先生
「たしかに、そのままだとヘルパーやCSSファイルなどが勝手に作られますよね。でも、実はジェネレータの動きを自分の好みにカスタマイズできるんですよ。」
生徒
「えっ、そんなことできるんですか!?それって難しいですか?」
先生
「大丈夫!.railsrcというファイルとconfig/application.rbという設定を使えば、簡単にできますよ。詳しく解説していきましょう。」
1. ジェネレータとは?
ジェネレータ(generator)とは、rails g controllerなどのコマンドで、Railsがファイルを自動生成してくれる便利な仕組みです。
たとえば、コントローラを作成するときにこんな風に使います。
rails g controller users index show
すると、コントローラ・ビュー・ヘルパー・テストファイルなど、いろんなファイルが一気に作られます。
でも、実際には使わないファイルが多いこともありますよね。そんなときに、ジェネレータのカスタマイズが役立つのです。
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で
Railsの新しいプロジェクトを作るとき、rails newコマンドを毎回細かくオプション指定していると、手間ですよね。
そんなときに使えるのが、ホームディレクトリに置く.railsrcというファイルです。
このファイルに、いつも使うオプションをあらかじめ書いておけば、毎回入力する必要がなくなります。
--skip-test
--skip-javascript
--skip-turbolinks
--database=postgresql
このように書いておけば、次にrails new myappとするだけで、指定したオプションが自動で反映されます。
4. .railsrcを使う手順
.railsrcは、パソコンの「ホームディレクトリ」に置く設定ファイルです。ホームディレクトリとは、WindowsならC:\Users\ユーザー名、MacやLinuxなら/Users/ユーザー名などになります。
そこに.railsrcという名前でファイルを作成して、Railsの初期オプションを書いておきましょう。
例:
--skip-active-storage
--skip-action-mailbox
--skip-action-text
--css=tailwind
このようにしておけば、新しくRailsアプリを作成するときの設定が統一されて、作業効率がぐんと上がります。
5. カスタマイズで作業効率アップ!
たとえば、開発で「ヘルパーを使わない」「テストを別ライブラリで書く」など、毎回決まった方針がある場合、ジェネレータの設定を変更しておけば、不要なファイルを毎回削除する手間がなくなります。
初心者にとっても、必要なファイルだけが生成されるようになるので、コードの全体像が把握しやすくなるというメリットもあります。
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. 初心者でも安心!設定はあとから変更できる
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を学ぶ過程で、これらの設定を理解し、少しずつ自分の開発スタイルに合わせて調整していくことが、より快適で効率的な開発につながります。
生徒
「ジェネレータって、自動でいろいろ作ってくれる便利なものだと思っていたけれど、設定を変えるだけでこんなに便利になるんですね!」
先生
「そうですね。目的に合わせて必要なファイルだけを作るようにすれば、作業が楽になりますし、プロジェクト全体も整理された状態を保てますよ。」
生徒
「確かに、いらないファイルを毎回削除していたので、最初から作られないようにできるのはありがたいです!」
先生
「その調子で、.railsrcとconfig/application.rbを上手に活用すれば、自分に合ったRails開発環境を作れますよ。」