ERB

参考:

class ERB (Ruby 2.6.0)

使い方

参考:

Ruby のヒアドキュメントの代わりに ERB を使う – Qiita

ERB でソースコード生成 | うなの日記

ERB の使い方 | ayaketanのプログラミング勉強日記

What is the difference between <%, <%=, <%# and -%> in ERB in Rails? – Stack Overflow

trim_mode

改行あるいは空白文字の処理を指定する。

  • nil, ""改行はそのまま
  • ">"行末が %> のとき改行を出力しない
  • "<>"行頭が <% で行末が %> のとき改行を出力しない
  • "-"行末が -%> のとき改行を出力しない。行頭が <%- のとき行頭の空白を削除する。
  • "%"% で始まる行を <% ... %> とみなして変換する。このとき改行は出力しない。

2つのモードを組み合わせて指定する。

  • "%>""%" と ">" の組み合わせ
  • "%<>""%" と "<>" の組み合わせ
  • "%-""%" と "-" の組み合わせ

参考:

ERB の trim_mode の違い – Qiita

erb で – を指定する際の注意点 | お題目うぉっち

class ERB (Ruby 2.6.0)

result

参考:

instance method ERB#result (Ruby 2.6.0)

ヒアドキュメントで ERB を使う

message = "hello"
html = ERB.new(<<~HTML).result(binding).html_safe
  <div class="card">
    <div class="card-body">
      <%= message %>
    </div>
  </div>
HTML

参考:

Ruby syntax inside a heredoc? – Stack Overflow

__FILE__ / filename

参考:

How do I find the path of a template file using ERB? – Stack Overflow

instance method ERB#filename= (Ruby 2.6.0)

コマンドラインから ERB を処理する

$ ruby -r erb -e "ERB.new($<.read).run" file.erb

参考:

class ERB (Ruby 2.6.0)

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA