Edited at

Rails-erbに<%%= %>こういう書き方あるみたい

More than 1 year has passed since last update.


Rails erbの<%%= %>の意味


「eRuby テンプレートを生成するための eRuby テンプレート」を記述するのに使う

by @scivola さん


って感じみたいです!

$ bin/rails c

[1] pry(main)> ERB.new("<%%= 'hoge' %>").result
=> "<%= 'hoge' %>"
[2] pry(main)> ERB.new("<%= 'hoge' %>").result
=> "hoge"

<%%= %>はerbを一度展開しても、erbファイルが壊れないようにするためだったみたいです。弊社の開発ではCMSで、設定ファイルをユーザーごとのDBに一度いれたりしているので(適当な理解)何度か展開するみたいです〜

詳しい方はコメント欄にコメントください

scivolaさんがいい感じにまとめてくれたので引用しました!!!!

以下の内容はポエムです。


2週間前くらいにこんなくだりがありました。


私のコピペが発掘される


ことの発端はこうです。

私が意味を知らずに使っていた <%%= %> というイディオムを、別の人がPR出したときに話題になりました。。。

(意味わからずコピペしてたのは私だけで、PR出した人は知ってた)

「ふ〜ん。調べても出てこないし、なんかわかんないけど動いてるからこうしておかなきゃ。」

で、今回やっとちゃんと調べました〜〜(エンジニアの風下)


参考資料

この記事を書いていたら erb に Lodash.js (or Underscode.js) の _.template を書くときのエスケープ - Qiita すでに投稿されてたのでこちら参考にするといいかもです!

こちらの<%%= %>が書かれた公式っぽいところはこちらが詳しいみたいです。 標準添付ライブラリ紹介 【第 10 回】 ERB


最後に

普段はコピペしてないですよ(?)