LoginSignup
0
0

More than 1 year has passed since last update.

Rails ディレクトリ構成・各種ディレクトリとファイルの役割

Last updated at Posted at 2022-01-16

前置き

参考書籍

  • 小餅良介著『独習Ruby on Rails』SE出版

環境

  • Ruby on Rails ver.5.2.2

ディレクトリ構成(一階層)

:file_folder:アプリケーションディレクトリ
 ├ :file_folder:.git
 ├ :file_folder:app
 ├ :file_folder:bin
 ├ :file_folder:config
 ├ :file_folder:db
 ├ :file_folder:lib
 ├ :file_folder:log
 ├ :file_folder:public
 ├ :file_folder:storage
 ├ :file_folder:test
 ├ :file_folder:tmp
 ├ :file_folder:vendor
 ├ :page_facing_up:.gifitignore
 ├ :page_facing_up:.ruby-version
 ├ :page_facing_up:config.ru
 ├ :page_facing_up:Gemfile
 ├ :page_facing_up:Gemfike.lock
 ├ :page_facing_up:package.json
 ├ :page_facing_up:Rackfile
 └ :page_facing_up:README.md

各ディレクトリの役割

.git
Gitが利用するディレクトリ

app
アプリケーションに関する情報を管理するディレクトリ

bin
スクリプトファイルを管理するディレクトリ

config
実行環境に関する設定が入ったディレクトリ

db
データベースの設定情報を管理するディレクトリ

lib
ライブラリを管理するディレクトリ

log
ログファイルを管理するディレクトリ

public
静的ファイルを管理するディレクトリ

storage
Rails 5.2で追加されたActive Storageのディレクトリ(変更可)

test
テストコード・データを管理するディレクトリ

tmp
一時的な情報(キャッシュ、プロセスID、セッションなど)を管理するディレクトリ

vendor
サイドパーティ製のリソースを管理するディレクトリ

各ファイルの役割

.gitignore
gitの管理対象から外すファイルを管理するファイル

.ruby-version
Rubyのバージョンを管理するファイル

config.ru
RackがRailsサーバを起動するために使用する設定ファイル

Gemfile
Gemパッケージの設定ファイル

Gemfile.lock
Gemパッケージの依存関係を管理するファイル

package.json
npmを使用する際に使うファイル

Rackfile
Rakeタスクコマンドの実行を管理するファイル

README.md
アプリケーションの説明書

ディレクトリ構成(appディレクトリ)

:file_folder:app
 ├:file_folder:assets
 │ ├:file_folder:images
 │ ├:file_folder:javascript
 │ └:file_folder:stylesheets
 ├:file_folder:controllers
 │ └:file_folder:concerns
 ├:file_folder:helpers
 ├:file_folder:ajobs
 ├:file_folder:mailers
 ├:file_folder:models
 │ └:file_folder:concerns
 └:file_folder:views
   ├:file_folder:layouts
   └:file_folder:(各コントローラ)

各ディレクトリの役割

assets
アセット(CSS、JavaScript、画像ファイルなど)ファイルを管理するディレクトリ

  • images 画像を配置するためのディレクトリ
  • javascripts JavaScriptsファイルを配置するためのディレクトリ
  • stylesheets CSSファイルを配置するためのディレクトリ

cntrollers
コントローラクラスを管理するディレクトリ

  • concerns コントローラ共通のコードを管理するディレクトリ

helpers
ヘルパーモジュールを管理するディレクトリ

jobs
ジョブクラスを管理するディレクトリ

mailers
メール制御クラスを管理するディレクトリ

models
モデルクラスw管理するディレクトリ

  • concerns モデル共通コードを管理するディレクトリ

views
ビューテンプレートを管理するディレクトリ

  • layouts 共通レイアウトを管理するディレクトリ
  • 各コントローラ名のディレクトリ  各コントローラに対応するビューテンプレートを管理するディレクトリ

準備中・・・

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0