erbの使い方を毎回忘れてしまうので、メモメモ。
ソースコード
何の意味もないソースコードです。1,2,3,4,5っていうのを連続で出すだけです。
require 'erb' array = [1,2,3,4,5] contents = <<EOS <% array.each do |a| %> <h1><%= a %></h1> <% end %> EOS erb = ERB.new(contents) result = erb.result(binding) puts result
実行すると以下。
$ ruby test.rb <h1>1</h1> <h1>2</h1> <h1>3</h1> <h1>4</h1> <h1>5</h1> $
覚えておくべきポイント
この中で覚えておくべきポイントは2つ。
EOS
<<EOS~EOS
で囲むとそこにコードがそのままかける。別ファイルで用意するのとかが面倒の場合に便利。別ファイルに準備した場合はFile.read('file_name')
っていう感じで準備したファイルを読めばOK。
テンプレートにrubyコードを実行する場合の書式
<% ~ %>
でコードが書ける、<%= ~ %>
で変数参照。これも結構忘れる
終わりに
正式名称がわからないから自分のイメージの言葉で説明しちゃってますね。ちゃんとした言葉を覚えないと。
それではまたー。
参考にしたサイト: Ruby/ERB/静的HTMLを出力する [Ore Base]