0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Rails] ディレクトリ構造

Last updated at Posted at 2024-12-01

ディレクトリ構造

Railsのディレクトリ構造に迷いそうだったので、自分なりにまとめました。

- .github: GitHubワークフロー(自動アクション)
- app: アプリケーションの主要なコード
    - assets: JavaScript, CSS, 画像などの静的なアセット
    - controllers: [C] コントローラー #
    - helpers: ビューで使えるヘルパー
    - jobs: Active Job(バックグラウンドで実行するジョブ)
    - mailers: Action Mailer(アプリからのメール送信)
    - models: [M] モデル #
    - views: [V] ビュー #
- bin: railsコマンドなどのスクリプト
- config: アプリケーションの設定ファイル
    - environments: 環境(development, production, test)ごとの設定ファイル
    - initializers: 初期化設定ファイル
    - locales: ロケールファイル
    - routes.rb: ルーティングの設定ファイル #
- db: データベース関連
    - migrate: マイグレーションファイル [time_stamps_XXX.rb] #
    - schema.rb: データベーススキーマ(データベース構造の設計図)
    - seeds.rb: データベースにサンプルデータを作る
- lib: ライブラリ用
- log: 過去のサーバーを起動した時のログが見れる
- public: 404エラーやメンテナンスページなど、コントローラーを作るまでもない静的なページなどを置いておける
- storage: ローカル環境にてActive Storageでアップロードしたファイルを格納する場所
- test: Rails標準のMinitestのテストコードを保存
- tmp: 一時ファイル(キャッシュなど)
- vendor: 外部のライブラリやプラグインを保存
- config.ru: Rackサーバー(Pumaなどの、RubyアプリとWebサーバーの仲介役)の設定ファイル
- Gemfile: インストールするGemのリスト #
- Gemfile.lock: Gemのバージョンが記録される
- README.md: プロジェクトの説明文書
- Rakefile: RakeはRuby版のMake。プロジェクトのタスク(処理のひとまとめ)を設定できる

探す時のポイント

  • MVCはすべてappディレクトリ下にある
  • ルーティング設定ファイルはconfigディレクトリ下のroutes.rbである
  • マイグレーションファイルは、データベース関連なのでdbディレクトリ下にある
  • Gemfileはプロジェクトディレクトリ直下にある

気付いたこと

  • 初期に生成されるディレクトリは、Railsのデフォルトのフレームワークや機能をもとにしたものが多い
  • 何気なく使っているrailsコマンドはbin(バイナリ)ディレクトリ下に定義されているため、bin/railsと書いてもrailsコマンドが実行できる

参考

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?