見習いエンジニア(仮)の学び場

未経験からエンジニア転職を目指す男が、プログラミング学習で学んだことを分かりやすくアウトプットするためのブログです。

Railsで使われる「ビュー」ってどういう役割なの?

ビューとは、私たちが見ているスマホやPCの画面を用意してくれる機能のことです。

 

アプリケーションは、幾つものページで成り立っています。

例えば、Twitterであれば、「タイムライン」「ツイートの詳細」「マイページ」といったページがありますよね。

そして、もしタイムラインを表示させたいときは、アプリの左下にあるアイコンを押せば、すぐに表示させることができます。

この時に、表示されたタイムラインの画面を用意してくれているのが「ビュー」です。

 

ビューは画面を用意するだけなので、単体では私たちに返すことはできません。

実際に画面を返してくれているのは、サーバー内の「コントローラー」という機能です。

 

ビューはこのコントローラーから「ユーザーからリクエストのあったこの画面を用意してください!」という指示を受け、用意していた画面をコントローラーに渡し、コントローラーが表示させる画面を私たちに返してくれる流れになっています。

 

 

ここまでで、ビューの役割について説明してきました。

 

では具体的に、ビューはどのようにして画面を用意しているのでしょうか?

 

ビューの中には、ERBファイルというファイルがあります。

ERBファイルとは、ブラウザ画面の表示に使うHTMLに、アプリ内のデータを扱えるRubyを埋め込んだファイルのことです。

このファイルは、〇〇.html.erbとタイトルをつけます。〇〇の中にはユーザーからのリクエストを処理する方法であるアクション名が入ります。

 

こうして作成したERBファイルの中に、ユーザーからのリクエストに必要な画面を出すための情報を記述していきます。

 

 

では、具体的にどのように記述するのでしょうか?

 

 

この場面で役立つのが、インスタンス変数です。

 

インスタンス変数については、詳しい説明は長くなるので割愛しますが、今回はコントローラーで受け取ったユーザーの固有の情報を、ビュー内で使用するための記述なんだと思ってもらえれば大丈夫です。

 

コントローラーのアクション内で定義したインスタンス変数は、対応するビューファイル内でも使用することができるので、その仕組みを利用してビューは私たちが見ている画面を作ってくれているのです。

 

流れとしては

①コントローラー内でindexアクションのメソッド内で、インスタンス変数を定義する。

②そのインスタンス変数は、index.html.erbファイル内で使用ができる。

といったイメージです。

 

 

、、すみません、後半すごく分かりづらかったですよね笑

MVC初見の方は、「ビューはアプリケーションの見た目を作っている機能なんだ」と理解してもらえれば今回は大丈夫です!