【发布时间】:2014-08-18 15:36:21
【问题描述】:
我刚开始学习 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>
然后它会渲染这个模板并正确显示。那么模板中可能存在我不知道的命名问题?
谢谢,
乔什
【问题讨论】:
-
您事先没有工作模板吗?当您点击应用程序的根目录时,应用程序模板是否显示?
标签: javascript ruby-on-rails ember.js ember-rails