ITとdesign エンジニアのブログ by エンジ庭

IT業界のトレンドなどIT分野について学んだ事を書いていきます。プログラミング技術などについて現在Qiitaメインに書いてますので、そちらを参照ください。  https://qiita.com/kota_sho

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

Rails.application.routes.draw do
devise_for :users
root 'blogs#index'
get 'blogs' => 'blogs#index'

blogsというリクエストを受けたら、blogsコントローラのindexアクションに飛ばすという処理。

コントローラ

def indexindexを定義

ここでのindexはアクション名=コントローラのインスタンスメソッド

データの受け取りなど、細かな処理を記載します。

(ページを表示するだけなら処理の記述は不要)

index用のビューファイルを呼び出す

blogs_controller.rb

class BlogsController < ApplicationController

def index
 
end

ビューファイル

index.html.erbというビューファイルが呼ばれる。

erbはrubyのコードが書ける拡張子

(レイアウトのファイルで細かな箇所を編集)

ビューファイルに記述されている内容(別途cssを引き当てますが)が

WEBページの見た目の部分になります。

 

 

このような流れになっています。

ページの表示のみなので、モデル、データベースはまだ登場しませんでしたが

次回以降、詳細を書いていきます。