🫠

Railsのディレクトリメモ

2023/12/25に公開

Railsについて

RailsとはRubyでRubyでプログラムを作るときに使う便利なフレームワークです。
Rubyでプログラムを作るときは、Ruby on Railsを一緒に使うことが多いです。

とまぁRailsを絶賛勉強中なのですが、初学者の私にとってどこのディレクトリに何を書くか全く把握しきれないのでメモ代わりに纏めたいと思います。

MVC

  • model
    データベース操作の処理を記述するディレクトリ。
    下記コマンドでモデルを生成できます。モデル名は単数形で記述します。(テーブルは勝手に複数形になる)
rails generate model List task:string price:integer 
rails db:migrate
  • View
    コントローラーからモデルのデータを受け取り、実際にブラウザに表示する処理を記述するディレクトリ。

  • Controller
    ブラウザからのリクエストを処理して、modelとViewの間でデータの橋渡しを行うディレクトリ
    下記コマンドで生成可能です。Controller名の後にアクションを記述することで、ControllerとView内に自動的にアクションとファイルが生成されます。

rails generate controller Users new

helper

Railsのhelperは、ViewをDRYに作ることができるように配慮されたモジュールのことらしいです。
helperはViewファイルで利用することを前提に作られていますが、includeすることでコントローラー、モデルでも使用することができます。

  • application_helper.rbに記述したヘルパーはどこからでも呼び出すことが可能
  • 一方、コントローラ名_helper.rbの場合は対象のコントローラの経由の処理でのみ使う場合に使用

View > layouts

ビューのレイアウト用のRHTMLテンプレート用のディレクトリ
パーシャル・mailerなどを格納するディレクトリ(別途sharedを作成してそちらに全部保存しても良い)

db > seeds.rb

初期データやテストデータを格納する場所
下記コマンド実行で実際にデータを生成できる

rails db:seed

test > fixtures

seedと似ているが、こちらはテスト時の初期データを記述するファイル

まとめ

規模感が増すにつれ、どこに何のコードがあるか把握するのは大変です。
管理、メンテナンスができるよう、形式に沿って格納する癖をつけるのが大切だと思いました。

Discussion