EmberJS 2.7 错误:断言失败:id
传递给findRecord()
必须是非空字符串或数字
app/templates/products/index.hbs: [在模型/每个循环中我有这一行]:
{{#link-to 'categories.edit' product.category.id}}<a href="">{{product.category.name}}</a>{{/link-to}}
app/router.js: [我定义了这些路由]:
this.route('products', function() {
this.route('new');
this.route('edit', { path: '/:product_id/edit' });
});
this.route('categories', function() {
this.route('new');
this.route('edit', { path: '/:category_id/edit' });
});
它在编辑产品时起作用。但是在尝试编辑类别时会引发上述错误。
如果我删除“类别/编辑”路线并添加此路线:
this.route('category', { path: '/categories/:category_id/edit' });
并更改模板以使用它:
{{#link-to 'category' product.category.id}}<a href="">{{product.category.name}}</a>{{/link-to}}
然后它工作。我明白为什么第二个有效。但是为什么第一个不起作用?
编辑:这里是模型
应用程序/模型/product.js:
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
description: DS.attr('string'),
category: DS.belongsTo('category', { async: true })
});
应用程序/模型/category.js:
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
products: DS.hasMany('product')
});