0

我想在 Rails 应用程序的前后共享 js 模板,以应对代码重复的情况。

要求是:

  • 下划线 (ejs) 或车把/小胡子模板。最好是 ejs,因为我已经在使用下划线客户端。
  • 我还想利用 rails 资产管道将它们拉入 JST 对象/函数中,这样我就可以将模板文件分开,并可以获得缓存等其他好处。

我发现了一些适用于一种情况或另一种情况的宝石,例如 handlebars_haml_assets、ejs、FlavourSaver 等,但没有一个能够满足所有这些要求。前后共享 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 回答