Ruby on Railsでは「rails new アプリケーション名」で簡単にアプリケーションの枠組みを作成することができます。
上記のコマンドでアプリケーションを簡単に生成することができますが、たくさんのディレクトリやファイルがあり、各々のディレクトリとファイルがどのような役割を担っているのか把握するのが大変かと思います。
そこで、このページではよく使用するappディレクトリとconfigディレクトリの中身と役割について解説していきたいと思います。
最後まで読んで頂けたらと思います。
目次
1.appディレクトリ
Webアプリケーションのディレクトリのひとつに「appディレクトリ」というものがあります。
このappディレクトリはWebアプリケーション開発をしていくうえで一番使用する頻度が高いディレクトリとなっています。
このappディレクトリの中には以下のようにassets、contrillers、helpers、jobs、mailer、models、viewsといったディレクトリが配置されています。
それではappディレクトリ内にあるディレクトリの役割を一つ一つ見ていきましょう。
assets
assetsはビューに埋め込むcss、javascript、画像などのアセットを管理するディレクトリとなっています。
assetsディレクトリ内には以下のようなディレクトリが配置されています。
images
画像を配置するためのディレクトリとなっています。
javascripts
javascriptファイルを配置するためのディレクトリとなっています。
中でもapplication.jsファイルを使用することですべてのhtmlファイルへjavascriptsを適用させることができます。
stylesheets
cssファイル、scssファイルを配置するためのディレクトリとなっています。
中でもapplication.cssファイルを使用することですべてのhtmlファイルへcssを適用させることができます。
controllers
controllersとはコントローラーを管理するディレクトリとなっています。
またコントローラー共通のコードを管理するconcernsディレクトリも配置されています。
helpres
ヘルパーモジュールを管理するディレクトリとなっています。
jobs
ジョブクラスを管理するディレクトリとなっています。
mailers
メーラークラスを管理するディレクトリとなっています。
models
モデルクラスを管理するディレクトリとなっています。
またモデル共通のコードを管理するconcernsディレクトリも配置されています。
views
ビューテンプレートを管理するディレクトリとなっています。
ビューテンプレートは各コントローラーに対応しており、各コントローラー名のディレクトリで管理することになっています。
また、共通フレームであるレイアウトを提供するためのlayoutsディレクトリがデフォルトで生成されます。
2.configディレクトリ
configディレクトリは実行環境に関するものを管理するディレクトリとなっています。
それではconfigディレクトリ内にあるディレクトリとファイルの役割を一つ一つ見ていきましょう。
environments
開発のdevelopment、テストのtest、運用のproductionなどの実行環境ごとの設定情報を管理するディレクトリとなっています。
initializers
Webアプリケーションで使用する初期情報設定ファイルを管理するディレクトリとなっています。
locales
言語を管理するディレクトリとなっています。
application.rb
開発のdevelopment、テストのtest、運用のproductionなど、すべての実行環境に共通の設定を行うためのファイルです。
boot.rb
Gemfileを管理し、Gemfileからgemのセットアップを行うファイルとなっています。
cable.yml
Action Cable用の環境別のデフォルトキューアダプターを管理するためのファイルとなっています。
credentials.yml.enc
暗号化キーを管理するためのファイルとなっています。
database.yml
開発のdevelopment、テストのtest、運用のproductionなどの実行環境の設定を行うためのファイルとなっています。
environment.rb
サーバー起動時にappplication.rbの初期化を行うためのファイルとなっています。
master.key
credentials.yml.encの情報を復号するためのキーがあるファイルとなっています。
puma.rb
Pumaの実行環境を設定するためのファイルとなっています。
routes.rb
ルート情報を管理するためのファイルとなっています。
spring.rb
Springの制御設定を行うためのファイルとなっています。
※Springはアプリケーション起動時に必要なライブラリをロードする役割を担っています。
storage.yml
Active Storageの環境設定を行うためのファイルとなっています。
3.Ruby on Railsを学ぶことができるオススメの教材
Ruby on Railsを学習している皆様にオススメの教材をご紹介させていただきます。
現場で使える Ruby on Rails 5速習実践ガイド
以下の本はRuby on Railsの学習を一通り終えてある程度知識を身につけた方にオススメしたい本です。
「現場で使える Ruby on Rails 5速習実践ガイド」は現場で実際にどのように使われているのかという視点も交えて解説されています。
そのため、初心者の方が次のステップに進むために最適な本となっていますので、オススメです。
これらの本で是非学習を進めてみてはいかがでしょうか?
レベル別におすすめの本も紹介していますので、どのような本がオススメか知りたい方はこちらもご覧になって下さい。

Udemy
UdemyではRuby on Railsを学ぶことができる講座を多数取り扱っています。
以下の記事でRuby on Railsを学ぶことができるオススメの講座をまとめていますので、よかったらご覧になって下さい。

プログラミングスクール
TechAcademy、WebCamp、CodeCamp、Tech CampなどでRuby on Railsを学ぶことができます。
それぞれ無料体験も行っているので、どのようなものか試してみるのもいいでしょう。
以下の記事で各プログラミングスクールをまとめているのでこちらもよかったらご覧になってください。









4.まとめ
- appディレクトリの中にはassets、contrillers、helpers、jobs、mailer、models、viewsといったディレクトリが配置されています
- configディレクトリは実行環境に関するものを管理するディレクトリとなっています