【发布时间】:2017-09-19 17:30:00
【问题描述】:
我正在使用最新的 ember-cli 版本 2.12.1 和 ember。
我已将我的路线配置为:
Router.map(function() {
this.route('companies', function() {
this.route('companydetail', {
path: '/:company_id'
}, function() {
this.route('employees', function() {
this.route('employeedetail', {
path: '/:employee_id'
});
});
});
});
});
模板在
/templates/companies/index.hbs
/templates/companies/companydetail.hbs
/templates/companies/companydetail/employees/employees/employeedetail.hbs
我可以链接到路线
{{#link-to "companies.companydetail.employees.employeedetail" model employee}}Edit{{/link-to}}
这行得通。但是没有渲染模板。 而是使用 companydetail.hbs。我改变了 /routes/companies/companydetail/employees/employeedetail.js 以呈现正确的模板:
renderTemplate: function(params) {
this.render('companies/companydetail/employees/employeedetail', {
into: 'application'
});
}
这是可行的,但是:对模型的调用(对服务器的请求)尚未完成。我可以尝试手动拨打电话,但我开始相信我的路线有问题。
有什么建议吗?
更新: 网址是 /companies/1/employees/2。当我单击链接时,ember 构造此 url 时,不会执行对模型的请求。当我刷新浏览器页面时,会触发请求。这是一种比较典型的体验,因为在 url 未更改时不会触发模型调用。但奇怪的是,它改变了,仍然没有模型请求......
提前致谢, 赛拉斯
【问题讨论】:
-
/templates/companies/companydetail/employees/employees/employeedetail.hbs这应该是/templates/companies/companydetail/employees/employeedetail.hbs -
@kumkanillam 你是对的。这就是脚本所在的位置。这是问题中的一个错字。对不起!
标签: templates ember.js routes nested request