こんにちは、Shinyaです
「Ruby on Railsって何なの?」という疑問を解決する企画の第二弾として、今回はRuby on Railsの「ビュー」の解説をしていきます
(できれば 「Ruby on Railsって何だよ」の解決記事【1.モデルとは】から読んでくださいね~ )
ビューとはMVCのVのこと

まずビューの中身を見る前に、Ruby on Railsにおけるビューの位置づけを見ます
Ruby on Railsはこの図のように
- モデル(Model)
- ビュー(View)
- コントローラー(Controller)
の3要素で構成されています
この構造を3要素の頭文字をとってMVCアーキテクチャと呼びます
難しそうだけど、要はMとVとCが組み合わさってできてますよ~ってことです
この記事で説明するビューとはMVCのVの部分になります
ほんで、ビューって何なん?
ビュー(View)という名前から分かる通り
ビュー=表示画面
です
少し詳しく言うとブラウザで見えてるページです
Ruby on RailsはWebサービスを作るフレームワークです。その中でビューは表示部分を担っています

ビューの種類
ビューは通常一つのWebサービスに対して複数種類作られます
例えばTwitterのようなWebサービスなら
- ログイン画面
- ホーム画面
- 投稿画面
- マイページ
などがあります
このように用途に合わせてビューファイルは作ることができます
ビューのファイル形式
ブラウザで見てるページはHTMLで記述されています
ビューも例に違わずHTMLファイルです
ただしただのHTMLファイルではなくて、Rubyが埋め込まれたHTMLファイルです
なのでビューの拡張子は ".html.erb" という見慣れない形になっています
Rubyが埋めてあるのでビューファイルはデータを受け取ったり送ったりすることができます
テンプレート的に使える
ビューファイルはデータを受け取れるので、同じビューファイルでもデータによって表示内容を変えられます
分かりやすくするためにSNSのマイページ(プロフィール画面)を例に考えてみましょう
マイページはユーザーアカウントによって表示内容が異なります
しかし、アカウントの数だけマイページのビューファイルが必要というわけではありません
名前や画像や自己紹介といったマイページに表示する項目はどのアカウントも同じですよね?
だからアカウントに紐づいたデータを読み込んで表示するようにしておけば、アカウントが何個あってもビューファイルは一つで済みます

つまりビューファイルはテンプレートとして使うことができるということです
ビューはデータを探せない
ビューファイルはデータを受け取ることで表示内容を変えられると説明しましたが、ビュー自体は必要なデータを探せません

少し詳しく言うと、ビュー(V)に渡すデータはモデル(M)を経由してデータベースから持ってくる必要がありますが、ビューはこの処理をできません
この処理をするのはコントローラー(C)です
また、Webサービス利用者はビューファイルからデータを入力することはできますが、ビューは入力データをデータベースに登録することもできません
この処理をするのもコントローラーです
つまりビューはあくまで
利用者とシステムを画面を通じて繋ぐもの
ということです
別の言い方をすると、ユーザーとシステムの間に入ってやり取りを可能にする部分ということですね
専門用語で表せば
ユーザーインターフェース(UI)
となります
( UIを解説した外部記事: UIとは?UXとは?違いを理解しよう! )
以上でビューの解説を終わります
次回はMVCの最後の要素、コントローラーについて解説していきます
それでは、また!