#1.はじめに
プログラミングスクールでRuby on Railsの勉強を始めるにあたって、
Railsの仕組みを調査する機会があったのでまとめました。
#2.Railsとは
Rubyプログラミング言語で書かれたフレームワーク。
###Railsの2つの基本理念
- 同じことを繰り返すな(Don't Repeat Yourself: DRY) → コードの繰り返しを避ける
- 保守性と拡張性を確保し、バグが減少する。
- 設定より規約(Convention over Configuration: CoC) → 各種設定に対してデフォルト値を予め設定
- 設定ファイルの設定作業を行う負担が減少。
#3.MVCとは
RailsはMVCと呼ばれる3機能からなるソフトウェアアーキテクチャに基づいて構成されている。
-
Model(モデル)
- データの処理を行う機能。
- データベースの入出力や、計算を行う。
-
View(ビュー)
- ブラウザへの表示に関する機能。
- HTMLによるインターフェースの表示を行う。
- (erbはHTML内にRubyスクリプトを埋め込むためのライブラリ。)
-
Controller(コントローラ)
- ユーザからの入力をModelやViewに伝える機能。
- Viewによって表示されたUIからの入力に応じて、対応するメソッドを呼ぶ。
###ルーティング
リクエストURLと処理を結びつける仕組み。
###MVCの流れ
1.ユーザがWebページに入力を行う。
2.Controllerがユーザのアクションに応じてModelのメソッドを呼び、データの処理が行われる。
3.データがModelからControllerを経由してViewに伝達される。
4.ViewはHTMLを生成し、Controllerを経由してWebページに表示する。
(出典:MVCの仕組みについて - https://qiita.com/wacker8818/items/7c66fb9db7a2b110cb6c)
#5.参考
Railsドキュメント - https://railsdoc.com/
Railsガイド - https://railsguides.jp/getting_started.html