ERB
ERBは文書埋め込みRubyスクリプト−eRubyのRubyによる実装です。
download
1.8系では標準添付です。
eRuby
eRubyは任意のテキストファイルにRubyスクリプトを埋め込む書式です。 JSP、ASPのRuby版をイメージするとわかりやすいでしょう。 次のマークアップを使ってRubyスクリプトを埋め込みます。
- <% ... %> --- Rubyスクリプト片をその場で実行
- <%= ... %> --- 式を評価した結果をその場に挿入
- これ以外 --- 文字列をその場に挿入
eRubyはhtmlに限らず、任意のテキストファイルの出力に使用できます。
ERB
ERBはeRubyのRubyによる実装です。 従来ERb/ERbLightという名前でしたが標準添付を機会に改名しました。
ERBはRubyのライブラリとして実装されており、アプリケーションの中で eRubyスクリプトを使用することができます。 eRubyのスクリプトを実行する際に、任意のbindingを与えることができるので オブジェクトのインスタンスメソッドの一部のように使うことが可能です。
ERBの制限
ERBでは一部eRubyと仕様が異なります。 埋め込みスクリプト中での標準出力への印字がその場所への文字列の挿入とはならず、 そのまま標準出力へ書かれます。
次のように挙動が異なります。
% cat hello.erb Hello, <% print "World" %>. % eruby hello.erb Hello, World. % erb hello.erb WorldHello, .
その場所に文字列を挿入するには <%= ... %> を使ってください。
% cat hello2.erb Hello, <%= "World" %>. % eruby hello2.erb Hello, World. % erb hello2.erb Hello, World.