我试图从templates/about.handlebars
.
我在 rails 视图中有插座设置:
%script{ type: 'text/x-handlebars'}
<h1> My app</h1>
{{ outlet }}
^-- outlet
about 路线如下所示:
Admin.Router.map ->
@route 'about', path: '/'
about 模板是纯 html:
<h1>This is ABOUT!</h1>
什么似乎有效:
- 我可以看到 Ember 调试消息,确认 ember 正在工作
- 我安装了 ember chrome 扩展,它可以看到应用程序模板
但是,当我要求时Ember.TEMPLATES
,我得到:
Object {application: function}
application: function (context, options) {
__proto__: Object
那里没有关于模板的信息。
挖掘编译后的 js 文件,我可以看到车把模板物理存在:
(function() {
this.HandlebarsTemplates || (this.HandlebarsTemplates = {});
this.HandlebarsTemplates["about"] = Handlebars.template(function (Handlebars,depth0,helpers,partials,data) {
this.compilerInfo = [4,'>= 1.0.0'];
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};
return "\n<h1>This is ABOUT!</h1>\n\n";
});
return this.HandlebarsTemplates["about"];
}).call(this);
但我没有看到它被明确添加到 Ember.TEMPLATES 中。
更新 1:检查 ember-rails gem,我看到把手将仅匹配具有.raw.(hjs|...)
或mustache.(hjs|...)
名称的文件?文档似乎没有谈到这一点。
即使我重命名了模板,它仍然没有显示,而且很奇怪,因为我在教程或 gem 文档中没有看到这样的模板名称。