【发布时间】:2014-04-18 17:57:07
【问题描述】:
我刚开始学习 Ember.JS,但在使用 Ruby on Rails 方面经验丰富。关于把手的使用,我有一个直截了当的问题,把手是 EmberJS 使用的模板框架。我在创建模板时看到的许多教 EmberJS 的文本都需要使用以下内容:
<script type="text/x-handlebars" id="blog/post">
// insert template here
</script>
这里的id 属性对框架至关重要。
现在我的问题是,为了在现实世界中更多地了解 Ember,我正在查看 GitHub 上的 Discourse 项目,该项目完全使用 Ember 在前端构建。他们所有的模板都省略了<script> 标签。除非我在错误的地方寻找,否则我真的无法在任何地方找到它。
我想在这里学习的是什么时候需要,什么时候可以省略? Discourse 开源项目中是否有一些诡计允许他们在这种特殊情况下省略它?
【问题讨论】:
-
Discourse 中有什么东西可以在部署之前预编译模板吗?这在 Handlebars 中很常见(或者至少我就是这样做的)。或者可能会遍历目录树,将每个模板包装在适当的
<script>中,然后将它们混合在一起? -
完全有可能——如果有的话,这将是这个问题的完全可以接受的答案。我也在研究,如果找到答案,我会发布答案。虽然我不确定预编译器如何知道
id在此处完成工作时使用什么。基于文件名? -
最有可能基于文件名,
id="blog/post"确实看起来像一条路径。并检查handlebars_assets的 Gemfile。 -
里面有一个叫做
barber的宝石我要试试看是不是在这里做的。
标签: javascript ruby-on-rails ruby ember.js handlebars.js