2020年7月31日より「押さえておきたいWeb知識」をリニューアルしました。

[Ruby on Rails] appディレクトリとconfigディレクトリを分かりやすく解説します!

Ruby on Railsでは「rails new アプリケーション名」で簡単にアプリケーションの枠組みを作成することができます。

上記のコマンドでアプリケーションを簡単に生成することができますが、たくさんのディレクトリやファイルがあり、各々のディレクトリとファイルがどのような役割を担っているのか把握するのが大変かと思います。

そこで、このページではよく使用するappディレクトリとconfigディレクトリの中身と役割について解説していきたいと思います。

最後まで読んで頂けたらと思います。

Webアプリケーションのディレクトリのひとつに「appディレクトリ」というものがあります。

このappディレクトリはWebアプリケーション開発をしていくうえで一番使用する頻度が高いディレクトリとなっています。

このappディレクトリの中には以下のようにassets、contrillers、helpers、jobs、mailer、models、viewsといったディレクトリが配置されています。

それではappディレクトリ内にあるディレクトリの役割を一つ一つ見ていきましょう。

1.assets

assetsはビューに埋め込むcss、javascript、画像などのアセットを管理するディレクトリとなっています。

assetsディレクトリ内には以下のようなディレクトリが配置されています。

・images

画像を配置するためのディレクトリとなっています。

・javascripts

javascriptファイルを配置するためのディレクトリとなっています。

中でもapplication.jsファイルを使用することですべてのhtmlファイルへjavascriptsを適用させることができます。

・stylesheets

cssファイル、scssファイルを配置するためのディレクトリとなっています。

中でもapplication.cssファイルを使用することですべてのhtmlファイルへcssを適用させることができます。

2.controllers

controllersとはコントローラーを管理するディレクトリとなっています。

またコントローラー共通のコードを管理するconcernsディレクトリも配置されています。

3.helpres

ヘルパーモジュールを管理するディレクトリとなっています。

4.jobs

ジョブクラスを管理するディレクトリとなっています。

5.mailers

メーラークラスを管理するディレクトリとなっています。

6.models

モデルクラスを管理するディレクトリとなっています。

またモデル共通のコードを管理するconcernsディレクトリも配置されています。

7.views

ビューテンプレートを管理するディレクトリとなっています。

ビューテンプレートは各コントローラーに対応しており、各コントローラー名のディレクトリで管理することになっています。

また、共通フレームであるレイアウトを提供するためのlayoutsディレクトリがデフォルトで生成されます。

 




 

2.configディレクトリ

configディレクトリは実行環境に関するものを管理するディレクトリとなっています。

それではconfigディレクトリ内にあるディレクトリとファイルの役割を一つ一つ見ていきましょう。

1.environments

開発のdevelopment、テストのtest、運用のproductionなどの実行環境ごとの設定情報を管理するディレクトリとなっています。

2.initializers

Webアプリケーションで使用する初期情報設定ファイルを管理するディレクトリとなっています。

3.locales

言語を管理するディレクトリとなっています。

4.application.rb

開発のdevelopment、テストのtest、運用のproductionなど、すべての実行環境に共通の設定を行うためのファイルです。

5.boot.rb

Gemfileを管理し、Gemfileからgemのセットアップを行うファイルとなっています。

6.cable.yml

Action Cable用の環境別のデフォルトキューアダプターを管理するためのファイルとなっています。

7.credentials.yml.enc

暗号化キーを管理するためのファイルとなっています。

8.database.yml

開発のdevelopment、テストのtest、運用のproductionなどの実行環境の設定を行うためのファイルとなっています。

9.environment.rb

サーバー起動時にappplication.rbの初期化を行うためのファイルとなっています。

10.master.key

credentials.yml.encの情報を復号するためのキーがあるファイルとなっています。

11.puma.rb

Pumaの実行環境を設定するためのファイルとなっています。

12.routes.rb

ルート情報を管理するためのファイルとなっています。

13.spring.rb

Springの制御設定を行うためのファイルとなっています。

※Springはアプリケーション起動時に必要なライブラリをロードする役割を担っています。

14.storage.yml

Active Storageの環境設定を行うためのファイルとなっています。

 




 

3.まとめ

・appディレクトリの中にはassets、contrillers、helpers、jobs、mailer、models、viewsといったディレクトリが配置されています。

・configディレクトリは実行環境に関するものを管理するディレクトリとなっています。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です