我有一个rails-backbone项目,可以生成jst.ejs模板。
我想在其中包含一些视图帮助程序,但我有一个时间来确定如何将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() %>
(返回未捕获的referenceError)
任何想法都赞赏。欢呼声。
答案 0 :(得分:0)
您可能需要将其附加到window
,因为coffeescript会在每个()
文件周围放置闭包.coffee
。如何处理范围问题的一个很好的例子是任何流行的js / coffee实用程序,如underscore.js。他使用var root = this
和exports
来符合CommonJS的做法,并将_
函数带到可以在全球范围内使用的世界。
这本书CoffeeScript: Accelerated JavaScript Development有关于这个主题的章节(第4章),它只是一本关于CoffeeScript的好书。它解释了现代世界在javascript方面的许多地方。