役割
ビューの役割は**「コントローラーから渡されたデータを利用して、Webサイト上での見た目を定義する」**です。
ERB
ブラウザに表示できるのは、HTMLファイルだけですが、
データをHTMLでも使用したいときは、Rubyを埋め込むことができるERBという仕組みを使用します。
ERBは、HTMLにRubyの記述を埋め込むことができるテンプレートから、HTMLファイルを生成できるテンプレートエンジンです。
ERBは (Embedded Ruby)の略です。 ※Embedded = 埋め込み
拡張子は.erbを使う。
テンプレートエンジン
テンプレートエンジンとは、雛形となるテンプレートと、そのテンプレートにデータとなる記述を埋め込むことで、最終的に別のファイルとして生成できる仕組みのことです。
具体的には、コントローラーで定義したインスタンス変数を、ビューで使用できるようになります。
*記号の意味
<%= %> (イコール) ・・・ 記述内容を出力する。
def index
@name = "Shun"
end
<%= @name %>
とすると、
Shun
と出力されます。
※ ifなどを使用する場合
<% %> (パーセントのみ) ・・・ Rubyコードを埋め込むが、表示はされない。
ERBファイル
RailsにおけるERBファイルは、○○.html.erbという名前で作成します。
○○には、対応するアクション名を記入。
Railsは、このERBファイルを元にHTMLファイルを書き出して、最終的にレスポンスに含めて返すことでブラウザに画面を表示させています。
ERBファイル作成方法
VS Codeで
app/views/〇〇ディレクトリを二本指でクリックし、〇〇.html.erbを作成しましょう。