感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

Rails勉強メモ(3)テンプレートファイルを使ってみる

スポンサーリンク

テンプレートファイル

テンプレートファイルは/app/viewsフォルダ配下に以下のルールに従った名前で保存する。
「コントローラ名/アクション名.html.erb」

たとえば、/controllers/hello_controller.rbというコントローラがあり、そのメソッドが以下のように書かれていた場合。

class HelloController < ApplicationController

	def view
		@msg = 'テンプレートファイルを経由してこのメッセージ出してみる'
		render 'hello/view'
	end
end

そのときは、
/views/hello/view.html.erb
という名前でファイルを作成する。

view.html.erb

<div id="main">
<%= @msg %>
</div>

動的な処理は

<% 任意のコード %>
<%= なんらかの値を返す式 %>

で記述する。

さて、

http://localhost:3000/hello/view

にリクエストを投げてみると・・・

ブラウザには

テンプレートファイルを経由してこのメッセージ出してみる

と表示される。


Railsではデフォルトで/views/layouts/aplication.html.erbの<%= yield %>の部分に個別のテンプレートを埋め込んだ上で最終的な出力を生成する。

application.html.erbはレイアウトテンプレートとか、レイアウトと呼ばれる。
サイトの全体のデザインを変更するときはapplication.html.erbを変更すればよく、ナビゲーションなどは一貫性を持って使うことができる。
個別のテンプレートにはページ固有のコンテンツだけ記述しすればいいことになる。

・コメント
ERBテンプレートにコメントを入れるには、

<%# コメント %>
<%#
  複数
  コメント
%>

みたいに書く。
HTMLの

<!-- -->

を書くと、クライアントから見えてしまうので注意が必要。
以下のようにすれば、ブラウザからは見えない。

<!-- <%= 'ブラウザから見えない' %> -->