プログラミング

Railsとはなんぞや・・・!?

出典:魁!!男塾

こんにちは、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とルーターの一連の流れは以下の通りです。

  1. ブラウザ(ユーザー)からWebサーバーにリクエスト(URL・HTTP)を送ります。
  2. ルーター(Routes)が、リクエストのURLにあったルートのコントローラーに処理を振り分けます。
  3. コントローラーは、その処理の中でモデルに関する情報があれば、モデルへ命令します。
  4. モデルはデータベースに命令を出します。(情報の引き出し・変更・追加・削除)
  5. その情報をコントローラーに返します。
  6. コントローラーは、得られた情報をViewに渡します。
  7. Viewは情報からHTMLを生成し、コントローラーに戻します。
  8. コントローラーはそのHTMLをHTTPレスポンスとしてブラウザに返します。
  9. ブラウザは、返されたHTMLを読み込み、ユーザーに表示します。

厳密に言えば違う部分がありますが、Railsのざっくりした流れは画像の通りです。

もっと詳しい解説はこちらです。

MVCについて詳しく解説

 

最後に

備忘録がわりに作ったので、間違っている所とかあったら、コメントくれると嬉しいです。

-プログラミング
-

Copyright© Nanayaku blog , 2019 All Rights Reserved Powered by AFFINGER5.