RubyOnRails-ビューの作成

Ruby On Rails ビュー

ビューはサーバの処理結果データを用いて動的にHTMLページを作成し、ユーザへ返します。

プログラムの中でHTMLタグを出力するのではなく、あらかじめ作成したテンプレートを利用します。


レンダリングについて

ユーザ(ブラウザ)に対して処理結果を表示するための処理をレンダリングと呼びます。

Railsではアクションが呼び出された時にレンダリングは1回しか行なえない規則となっています。


RubyOnRails-ビューの作成

Viewテンプレートの作成

Viewテンプレートは以下のディレクトリに作成します。


app\views\コントローラ名\

テンプレートファイル名は慣例的にアクション名を付加します。

アクション名で作成したテンプレートは、アクションからデフォルトで呼び出されるテンプレートとなります。

別名でテンプレートを作成し、アクションから明示的に指定してテンプレートを呼び出すこともできます。

テンプレートの記述は文字コードを「UTF-8(BOMなし)」にする必要があります。


app\views\コントローラ名\アクション名.html.erb

変数をテンプレートに代入する

テンプレートではRubyの実行結果を代入することができます。

記述に方法は以下の通りです。


<%= プログラム %>

変数を代入する場合には、以下の記述をします。


<%= @変数 %>

テンプレート例

Rubyで日本語を使用する場合には、ファイルの1行目に「# coding: utf-8」を記述した上で文字コードを UTF-8(BOM無) で保存します。


$ cat controllers/cmn_ctrl_controller.rb
# coding: utf-8
class CmnCtrlController < ApplicationController
  def show
    @msg = "テストメッセージ";
    render "cmn_ctrl/show"
  end
end


$ cat views/cmn_ctrl/show.html.erb
<h1>show</h1>
<p>テストです。</p>
<%= @msg %>


関連ページ