🫠
Railsのディレクトリメモ
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