読者です 読者をやめる 読者になる 読者になる

@Konboi memo

主に技術に関してつらつらと。

eRubyで<%= %> をそのまま出力する

はじめに

JavaScriptのテンプレートエンジンで

<%= %> を使うテンプレートエンジン*1がある。 おそらくこれは、 eRuby 等を参考に作られているとおもわれる。

見てると結構便利そう。

ただ、1点問題があってRailsとかでテンプレートエンジンにeRubyを使っていて、js側でも <%= %> を使うテンプレートエンジンを使っていると eRuby 側でも <%= %> を展開しようとして衝突してしまう。

小規模な場合は <%= %>[%= %] などに書き換えてもらって対処してもらえそうだが、広範囲で書かれてしまうと結構面倒。

eRuby側で <%= %> を展開しないでそのまま出力方法がないか調べてみた。

解決方法

 <%= title %> 

このまま表示させたい場合は

<%%= title %>

とすることでコード上で

<%= title %> 

と出力される。

まとめ

  • 調べたけどあんまりヒットしなかった。

  • 結局ここで見つけた。

  • 正規表現で / を出力するのに \/ みたいにする感じなんだなと。