我刚刚开始学习 ember.js,我正在尝试将其集成到现有的 rails 应用程序中。我正在使用 ember-rails gem,除了在 rails{{outlet}}
视图中调用时我的模板没有显示之外,一切看起来都很好。这是我的代码的样子。
Rails 视图我希望我的 ember 应用程序在哪里
<script type="text/x-handlebars" data-template-name="application">
<h1>test</h1>
{{outlet}}
</script>
<div id="ember-root">
这是我的 ember 应用程序代码:
window.Resumecompanion = Ember.Application.create({
LOG_TRANSITIONS: true, // basic logging of successful transitions
LOG_TRANSITIONS_INTERNAL: true, // detailed logging of all routing steps
rootElement: '#ember-root'
});
Resumecompanion.Router.reopen({});
Resumecompanion.JobsRoute = Ember.Route.extend({})
Resumecompanion.Router.map(function() {
this.resource('jobs');
});
最后是位于 app/assets/javascripts/templates/jobs.handlebars 中的车把模板
<h1>Jobs</h1>
<p>Your content here.</p>
{{outlet}}
当我运行应用程序时,jobs.hanldebars 中的模板没有出现。在控制台中,我看到了这个:
尝试将 URL 转换为 /jobs
过渡#0:应用程序:调用 beforeModel 钩子
过渡#0:应用程序:调用反序列化钩子
过渡#0:应用程序:调用 afterModel 挂钩
过渡#0:工作:调用 beforeModel 钩子
过渡#0:工作:调用反序列化钩子
过渡#0:工作:调用 afterModel 挂钩
过渡#0:解决了目标路线上的所有模型;完成过渡。
转变为“工作”
过渡#0:过渡完成。
Ember 调试器激活
所以我认为它实际上是路由到“工作”,但我不知道为什么模板似乎没有呈现和显示。任何帮助表示赞赏。
再玩一段时间后,我发现如果我在我的 Rails 视图中声明这个
<script type="text/x-handlebars" data-template-name="jobs">
<h1>Jobs</h1>
{{outlet}}
</script>
然后它呈现这个模板并正确显示。所以也许有一个我在模板中不知道的命名问题?
谢谢,
乔什