Ruby on Rails でページを作成する仕組み


はじめに

ページがブラウザに表示されるまでに、ルーティング→コントローラ(C)→モデル(M)→ビュー(V)という順で処理が行われている。
モデルはデータベースの情報が必要な時だけ使用するため、必要じゃない時はとばす。
railsはMVCアーキテクチャ(MVCモデル)という設計法に基づいて開発を行う。※MVCは上記頭文字

ページ作成に必要なものについて

①ルーティング<ブラウザとコントローラをつなぐ>

config/locales/routes.rb (コンフィグフォルダのローカルフォルダのルーツファイルに置かれる)

ユーザーが送信したURLに対して「どのコントローラの、どのアクション」で処理するかを決める「対応表」

ex.)ブラウザでURL(localhost:3000/home/top)を入力すると、homeコントローラーのtopアクションで処理される

get "home/top" => "home#top"  
 リクエスト=>"コントローラ#アクション"

②コントローラ <モデルとビューをつなぐ>

app/controllers (アプリケーションのメインフォルダのコントローラフォルダに置かれる)
Viewからの入力に応じて、必要なロジックの実行をModelに依頼し、その結果表示をViewに依頼する。

                          
ex.)「rails generate controller home top」を実行したとき、「home_controller.rb」というコントローラのファイルが作成され、ファイルの中に「topメソッド」が追加される。
コントローラ内のメソッドを「アクション」と呼ぶ。

#アクション

def top         
end                              

アクションは、コントローラと同じ名前のビューフォルダから、アクションと同じ名前のHTMLファイルを探してブラウザに返す。

app/views/home/top.html.erb ←ここにかいてある情報をブラウザに映し出す。

③モデル<データベースを操作>

app/models(アプリケーションのメインフォルダのモデルフォルダに置かれる)

モデルはデータベースに含まれるテーブル毎に用意され、データベースに対してデータの登録・取得・更新・削除などを行うことができる。

④ビュー<ページの見た目を作る>

app/views (アプリケーションのメインフォルダのビューフォルダに置かれる)
ビューに書いてあること(HTML)がブラウザに表示されるのでビューを編集すると表示する内容を変えることができる。

この流れで処理が行われることによってユーザーは欲しい情報を得ることができる

〜上記に記載したディレクトリ、ファイルの概要〜
①/config..アプリケーションの設定情報を格納する
   /routes.rb..ルーティングの設定を行う
   /locales..辞書ファイル(グローバル対応等)

②/app ..アプリケーション開発中にメインで使用するディレクトリ
    /controllers..Controller クラスを格納する

③/models.. Modelクラスを格納する

④/views..View クラスを格納する