出典:魁!!男塾
こんにちは、Nanayakuです。
今回は、Railsについて解説していきます。
目次
Railsとは
Railsとは、プログラミング言語のRubyで書かれたWebアプリケーションフレームワークのことです。
フレームワークとは、Webアプリケーションを効率よく開発するための雛形のようなものです。
用語の確認
ジェネレーター
開発に必要な雛形となるソースコードを自動で生成するコマンド群の事です。
デフォルトで数多くのファイルが用意されています。(appディレクトリの中にあります)
Gemを追加する事で、ジェネレーターも増えることがあります。
コマンド1つで必要なファイルが生成されるので、開発を効率化することが出来ます。
MVCモデル
Model・View・Controllerの事で、それぞれの役割表の通りです。
Model | データモバイル | データベースを操作したり、ユーザーからのリクエストの処理を行います |
View | 画面 | ユーザーが見る画面の事です |
Controller | ModelとViewの操作 | 「ユーザー」→「Model」→「View」→「ユーザー」などのデータの流れを決めます |
O/Rマッパー
O/RマッパーとはObject Relational Mapperの略で、オブジェクトとデータベースの間でデータ形式の相互変換を行うソフトウェアの事です。
ざっくり言うと、オブジェクトとデータベースの橋渡しをするツールです。
マイグレーション
マイグレーションは、SQLを操作する事なくRubyでデータベースにテーブルの作成やカラムの追加・削除の操作が出来る仕組みです。
つまり、データベースの管理が楽になる仕組みのことです。
ERB
ERBとはEmbedded RuBy(埋め込まれたRuby)の略です。
これは、HTMLにRubyのコードを埋め込む事で、そのRubyのコードをHTMLに変換する方法です。
これにより、ユーザーごとに表示画面を自動で変えることが出来ます。
youtubeだと登録チャンネルがユーザーごとに違うことがあげられます。
ルーティング
URLとコントローラーを紐付ける仕組みのことです。
ユーザーからのリクエストに対して、どのページへデータを送るかなど、道案内をしてくれる機能です。
Railsの構造
MVCモデル・ルーター
MVCとルーターの一連の流れは以下の通りです。
- ブラウザ(ユーザー)からWebサーバーにリクエスト(URL・HTTP)を送ります。
- ルーター(Routes)が、リクエストのURLにあったルートのコントローラーに処理を振り分けます。
- コントローラーは、その処理の中でモデルに関する情報があれば、モデルへ命令します。
- モデルはデータベースに命令を出します。(情報の引き出し・変更・追加・削除)
- その情報をコントローラーに返します。
- コントローラーは、得られた情報をViewに渡します。
- Viewは情報からHTMLを生成し、コントローラーに戻します。
- コントローラーはそのHTMLをHTTPレスポンスとしてブラウザに返します。
- ブラウザは、返されたHTMLを読み込み、ユーザーに表示します。
厳密に言えば違う部分がありますが、Railsのざっくりした流れは画像の通りです。
もっと詳しい解説はこちらです。
最後に
備忘録がわりに作ったので、間違っている所とかあったら、コメントくれると嬉しいです。