Rails 大まかな流れ(1)
2019-04-24
「ルーティング、コントローラ、モデル、データベース、ビュー」
Railsでアプリケーションを作る際のフローについてまとめてみます。
何回かに分けて書きます。
Railsの 考え方
Railsの処理のフローにはルーティング、コントローラ、モデル、、データベース、ビューというものが土台にあります。
ルーティング:どのコントローラにどの処理をするのか指示を出す。
コントローラ:ルーティングとビューを繋ぐ。
モデル:データベースへのアクセスなど、情報のやり取りの処理を担う。
データベース:ユーザーが入力した情報などを格納する。
ビュー:WEBサイトにおける見た目の部分。
rails 7つのアクション
Index |
リソースの一覧を表示する |
New |
リソースを新規作成する |
creat |
リソースを新規作成して追加(保存)する |
edit |
リソースを更新するためのフォームを作成する |
show |
レコードの内容を表示する |
update |
リソースを更新する |
destroy |
リソースを削除する |
基本の流れ;
「ページを表示する」という第一歩の部分の一連の流れです。
まず、ユーザーがWEBサイトにアクセスします。その後は個別のページにアクセスすると思いますが、各ページへのアクセス毎サーバー側へリクエストが出されます。
そのリクエストをルーティングが受け取り、それに応じ指定されたコントローラに対して、該当するアクション(どこのページに飛ばすか)を動かすよう指令を出します(コントローラーではどのアクションに応じてどういう処理をするのか設定されていますので、その処理を行います)。
また、アクション名とそれに対応するViewのファイル名は統一されていますので、そのビューが呼び出されユーザーが見たいページが表示されます。
ルーティング → コントローラー → ビューという流れはどの処理にも共通する基本的な流れになります。
例:ページを表示する
ブラウザ http:// ~ /blogs
(blogsはパス名=コントローラ名)
リクエストが送られる
↓
ルーティング
blogs#index
(index =アクション名)
コントローラへindexに関する処理の指示をする
「index」はトップページになります。
routes.rb
blogsというリクエストを受けたら、blogsコントローラのindexアクションに飛ばすという処理。
↓
コントローラ
def indexでindexを定義
ここでのindexはアクション名=コントローラのインスタンスメソッド
データの受け取りなど、細かな処理を記載します。
(ページを表示するだけなら処理の記述は不要)
index用のビューファイルを呼び出す
blogs_controller.rb
↓
ビューファイル
index.html.erbというビューファイルが呼ばれる。
erbはrubyのコードが書ける拡張子
(レイアウトのファイルで細かな箇所を編集)
ビューファイルに記述されている内容(別途cssを引き当てますが)が
WEBページの見た目の部分になります。
このような流れになっています。
ページの表示のみなので、モデル、データベースはまだ登場しませんでしたが
次回以降、詳細を書いていきます。