0

コードが重複する場合に備えて、Rails アプリケーションの前後で js テンプレートを共有したいと考えています。

要件は次のとおりです。

  • アンダースコア (ejs) またはハンドルバー/口ひげテンプレートのいずれか。私はすでにアンダースコアのクライアント側を使用しているので、できれば ejs です。
  • また、Rails アセット パイプラインを利用してこれらを JST オブジェクト/関数に取り込み、テンプレート ファイルを個別に保持し、キャッシュなどの他の利点を得られるようにしたいと考えています。

handlebars_haml_assets、ejs、FlavourSaver など、いずれかのケースで機能する gem をいくつか見つけましたが、これらすべての要件をすぐに使用できるものはありません。前と後ろでjsテンプレートを共有し、Rails 3アプリでJSTを使用する最良の方法は何ですか?

4

1 に答える 1

0

Rails 3.2 アセット パイプラインは、すぐに使用でき、Embedded Javascript (EJS) または Embedded CoffeeScript (Eco) テンプレートをサポートし、JST(JavaScript テンプレート) 名前空間を使用して利用できます。ファイルに適切な名前を付けるだけです。

app/assets/templates/top_level.jst.ejs
app/assets/templates/subdir/nested.jst.eco

JavaScript でそれらを使用するには:

var html = JST['top_level']({ data: 'something' });
var html = JST['subdir/nested']({ data: 'something' });
于 2013-02-27T20:48:53.617 に答える