概要
Sinatra などで HTML を返却するときに erb を使いますが普通の Ruby スクリプト内でも使えます
環境
- macOS 10.13.4
- Ruby 2.5.1p57
サンプル
- vim test.rb
require 'erb'
erb = ERB.new(File.read("./doc.erb"))
@title = 'hoge'
ret = erb.result(binding)
puts ret
- vim doc.erb
@title => <%= @title %>
で実行すると test.rb で @title
変数に設定した 値が表示されると思います
ヒアドキュメントでも同じようなことはできますが、erb を使ったほうがきれいに書けるケースもあると思います
trim_mode をつかう場合
ERB.new
する際に第三引数で trim する文字列を指定します
- vim test.rb
require 'erb'
erb = ERB.new(File.read("./doc.erb"), nil, '-')
@titles = ['hoge', 'hoge1', 'hoge2']
ret = erb.result(binding)
puts ret
- vim doc.erb
<%- @titles.each { |title| -%>
@title is <%= title %>
<%- } -%>
0 件のコメント:
コメントを投稿