#1. rudyとrailsとは
まず、最初にrudyとrailsについて大まかに説明すると
・rudy : proguramming 言語
__・rails : フレームワーク __
(4章でお伝えしますが、アクションで変数を定義するのが一般的です)
という違いになります。
*railsはproguramming言語ではないので注意してください。
#2. 具体的な違い
1章(1.rudyとrails)だけではあまりピンとこないと
思われる方のほうが多いと思うのでこの章では具体的な説明をしていきたいと思います。
○rudyとは
rudy on railsやwedアプリケーションフレームワークを
使うことができるpuroguramming言語のことを指します。
○railsのフレームワークとは
railsのフレームワークとはrudyで作られたシステムの事です。
rudyで作られてるならrailsの役割必要なの?って思いますよね。
答えから述べるとかなり必要です。
例えば、手で餅をついた後にパッケージしたりするのと機械で餅をついた後にパッケージしたりするのでは効率がかなり違いますよね?
これと同じようにrailsは機械と同じ役割をになっています。
・rails=機械で効率よく行う
と覚えておくといいかもしれません。
#3. railsについて
機械で効率よく行うと述べましたが、どういうシステムになっているのか詳しく説明していきます。
: rails figure :
図のような流れとなっており、順番を追って説明していきます。
(クライアントからリクエストが送られてきた状態からです)
1.HTTPサーバーからリクエストを元に送る
2.リクエストを元にcontroller&actionに誘導します
3.controllerにて要件を伝えて、modelへと伝達します(この場合、許可が降りると考えていただいても構いません)
4.5.modelからdata baseのレコードを引き出します
6.引き出したレコードはcontroller&action内にあるインスタンス変数に渡されます
7.レコードだけではブラウザーに表示できないため、viewを元にHTMLファイルを作成します
8.レコードの情報が埋め込まれたHTMLファイルを渡します
9.HTMLファイルを渡してクライアントにレスポンスします
急に単語が色々と出てきたと思うので、順番に説明していきます
・rouding : urlのどのconttollerのどのactionで処理するか適切に判断する(対応表みたいなもの)
・controller : viewの中のcontrollerとactionと同じフォルダーから
同じフォルダーを探して、ブラウザーに返します
・view : 見た目のHTMLファイルを指します
・data baseとはデータを保存できる場所のことを指します
また、databaseは下の図のような表のようになっており、このようにしてデータを管理しています。このような表のことを「テーブル」といいます。
カラム:縦の列のこと
レコード:1行ずつのデータのこと(色のついてる部分を指します)
*豆知識として、マイグレーションファイルでテーブルの内容を変えることができるので覚えておいた方がいいです。
:example:
rails generate post column:data と書き込むとpostsテーブルのカラムとdataの変更が可能です。このときpostsを単数形にして記入する必要があります。
#4.actionで変数で定義することについて
actionを変数で定義する必要性については、HTMLのままではdata baseに接続できないためです。
○ viewファイル内に変数を定義している場合
<_div class="~~">
=== → post1="===" ,post2="==="
<_/div>
のような形となります。
erd(embedded rudy)埋め込みrudyの場合
<_% post1="===">
となり、表示の仕方は
<_%=post1%>
という形になります。
○actionに変数を定義する場合
変数名の後に@をつけることでactionで定義したviewを使うことができます。