underscore.js のテンプレートのデフォルトデリミタを変更する

Railsのerb内でunderscore.jsのテンプレートを使おうとするとerbのデリミタとunderscoreのデリミタが競合してしまってエラーになってしまう。そういう時は下記のようにunderscoreテンプレートのデリミタをtemplateSettingsを使って変更してやればよい。

_.templateSettings = {
  interpolate : /\{\{(.+?)\}\}/g,
  escape: /\{\{-(.+?)\}\}/g
};

これで {{ hoge }} というmustacheライクなデリミタに変更できる。

参考