#はじめに
ページがブラウザに表示されるまでに、**ルーティング→コントローラ(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 クラスを格納する