ERB(Embedded Ruby)とは

ERBテンプレートとは、HTMLにRubyスクリプトを埋め込むための仕組みのこと。
JavaでいうとJSPみたいなものかな?
HTMLにスクリプトを埋め込むのって厳密にいうとMVCになってないと思うんだけど・・・。
ERBテンプレートとは、HTMLにRubyスクリプトを埋め込むための仕組みのこと。
Rubyスクリプトを埋め込むことで、っ条件分岐や繰り返し構文を書くことができる。
ビューヘルパーを利用して、DBから取得した値に基づいたリンクやフォーム要素をシンプルなコードで生成できる・・・らしい。

とりあえず見てみよう。

動的な処理は以下のように記述する。

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

JSPみたいだ!

コントローラーにviewアクションを記述する

appcontrollers以下に、
hello_controller.rb

# coding: utf-8

class HelloController < ApplicationController
	def view
		@tax = 0.05
	end
end

これで、リクエストをviewに飛ばすことができる。
で、Rails特有の命名規則。
appviewshello以下に
view.html.erbというファイルを置く。
このappviewsというのはデフォルトで置いてある。
helloというコントローラから飛ばされるから、「hello」フォルダを作成する。
そのhelloコントローラからviewというアクションに飛ばすから、view.html.erbという名前になる。
つまり、コントローラ名アクション名.html.erbという命名規則に従うことで、あとはRailsがよろしくやってくれる。

appviewshello以下の
view.html.erb

<div id="main">
<% price = 1000 
result = price * @tax  
%>
<%= result %>
</div>

で、

http://localhost:3000/hello/view

にリクエストを飛ばすと、
「50.0」と表示される。

ERBのコメントアウト方法

  • Rubyの#を使う
<%# comment %>
<%#
multiple
comments
%>
  • 条件分岐を使ったコメントアウト
<% if false %>
<% msg = hoge %>
<%=fuga %>
<% end %>
  • begin endを使ったコメントアウト
<%
=begin
%>
<% msg=ignore %>
<%=igonore %>
<%
=end
%>

勉強した本

Ruby on Rails 3 アプリケーションプログラミング

Ruby on Rails 3 アプリケーションプログラミング

  • 作者: 山田祥寛
  • 出版社/メーカー: 技術評論社
  • 発売日: 2011/05/12
  • メディア: 大型本
  • 購入: 27人 クリック: 664回
  • この商品を含むブログ (41件) を見る

説明が細かくてすごくいい!わかりやすい!!
さくさく動かしながら勉強できて、皆さんが勧める理由がわかった。

感謝のプログラミング

今回で感謝のプログラミングは【579時間目】
10000時間まで、あと【9421時間】