入門段階で学んだこと
要素の繋がりが頭の中でごちゃごちゃしていたので、以下の順番でまとめてみます
- 各要素の役割
- Railsが動く流れ
1. 各要素の役割
全体の流れを見る前に、まずは各要素が何をする場所なのかを把握します。
ルーティング
URLのリクエストが来た時に、どのコントローラーのどのメソッドに繋がるかを示すところ
リクエストの行き先を案内します。
get (または post) URL => コントローラー#メソッド
getはデータベースを参照する場合、
postはデータベースに変更を加える場合(例えば登録、削除など)という違いがあります。
コントローラー
リクエストに対応する処理(メソッド)を定義するところ
アクションを行います。
@変数名
のように@をつけてインスタンス変数を定義し用いることで、ビューでも同じ変数を使ってコードを書くことができるようになります。
モデル
データベース内のデータに処理を行うところ
例えば、保存されるデータが条件に合っているかの判断などを行います。
ビュー
コントローラーで行われた処理をHTMLで可視化するところ
ユーザに表示される画面になります。
コントローラーのメソッド1つに対して、1つのビューが作られます。
コントローラーで定義された@変数名
は、ビューでもそのまま使用可能です。
2. Railsが動く流れ
それぞれの役割がわかったところで、どのような流れで処理が行われるかを図で見ます。
ユーザから送信されたリクエストは以下のように動いていきます。
- ルーティングで示された道案内に従い
- コントローラーでアクションを起こし
- モデルの条件に従って
- データベースに情報を保存・削除・編集等し
- ビューでユーザに見せる画面を作成
まとめ
どことどこが繋がっているかが見えると、全体的な構図を理解してコードを書けると思います。
勉強中なので説明が不足している点もあると思いますが、ひとまず上記の役割と流れを把握してRailsの勉強を続けたいと思います