Railsの基礎
Ruby on Railsの特徴
-
MVCにより構成
MVC(Model-View-Controller)とは、プログラムをModel、View、Controllerの3要素に分割し、ソフトウェア内部データをユーザから分離することで、ソフトウェアの保守性を向上させる考え方です。
!https://udemy.benesse.co.jp/wp-content/uploads/08d09bb2261e51937df93f9044415eb9.png
Controllerからのメッセージを受け取り、アプリケーションが扱うデータとその手続きに関しての処理を行います。データが変更された場合、Viewに表示の変更を指示します。Ruby on Railsでは、Active RecordによりModelを扱います。(DBとの受け渡しの役割)
Rails modelを使うと、直感的で記述しやすいコードでデータベースを扱うことができる。
データベースはテーブルの集合でできています。テーブルとは、エクセルの表のように情報を縦横に並べたものです。(テーブルの列をカラム、行をレコードといいます)
View
データをユーザが見やすいように提供します。Modelからの指示を受け、データの変更などをUIに反映します。
Controller
ユーザからの入力をModelに引き渡します。ユーザはModelの内部データを直接変更するのではなく、Controllerを通じてModelに伝えます。これにより、ソフトウェアの保守性が向上します。Ruby on RailsではApplicationControllerクラスを利用します。(基本的にCRUD処理を書くところ)
Railsのcontrollerとは、一言で言うと、「パソコン(ブラウザ)からのリクエストを受け取り、model・viewと連携しながら結果をブラウザに送る(レスポンス)役割を担う部分」です。
【Rails controllerの具体的な役割】
・ブラウザからの入力を受け取る(ルーティングの設定が必要)
・データをmodelに要求する
・データの追加や変更をmodelに指示する
・適切なviewを選ぶ
・データをviewに渡す
ルーティング
ルーティングは送られてきたリクエストから次にどのコントローラのどのアクションを動かすのかを決定するもの。
ここでいうリクエスト、とは「http://localhost:3000/greetings」のうちのgreetings。
「http://localhost:3000/greetings」のうちhttp://localhost:3000/は**ホスト**名、greetingsは**パス**と言う。
ホスト名とは実際のサーバの名前、ここで重要なのがパスであるgreetings。
パスであるgreetingsが呼ばれた時、これに対応するコントローラのアクションが呼ばれる。