< Back

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

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出した人は知ってた)

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

スクリーンショット 2018-05-19 1.20.16.png

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

参考資料

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

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

最後に

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