0

我有一个生成 jst.ejs 模板的 rails-backbone 项目。

我想在其中包含一些视图助手,但我正在费尽心思弄清楚如何将 EJS 或 JST 函数包含到该模板文件中。如果有人可以快速解释如何包含一个非常基本的功能,以便可以通过 ejs.jst 模板阅读,我将非常感激。

我试过侵入 JST 和 EJS,再加上只使用纯 JavaScript 函数,但没有什么能带来任何乐趣。下面的示例尝试:

例子:

# helpers.js.coffee
console.log('yes, this file is being called from the app')
helloWorld: () ->
  console.log "Hello, world!"

# app/assets/javascripts/backbone/templates/project/new.jst.ejs
<%= helloWorld() %>

(返回未捕获的引用错误)

任何想法表示赞赏。干杯。

4

1 回答 1

0

您可能需要将其附加到window,因为 coffeescript()在每个.coffee文件周围都放置了闭包。如何处理范围问题的一个很好的例子是任何流行的 js/coffee 实用程序,例如underscore.js。他使用var root = thisexports遵循 CommonJS 实践,并将他的_功能推广到可以在全球范围内使用的世界。

CoffeeScript: Accelerated JavaScript Development 》一书有一章(第 4 章)讨论了这个主题,而且它只是一本关于 CoffeeScript 的好书。它解释了现代世界在 JavaScript 方面的很多方面。

于 2012-01-26T20:31:35.700 回答