-2
EmberJS 2.7 エラーのIDを渡す失敗しましたEmberJS 2.7アサーションは、ネストされたオブジェクト
{{#link-to 'categories.edit' product.category.id}}<a href="">{{product.category.name}}</a>{{/link-to}}
APP/router.js: は[Iは、これらのルートは定義されている] [モデル内の/各ループ私はこのラインを持っています]。
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}}
そして、それが動作します。なぜこの第2の作品が理解できるのですか? しかし、なぜ最初のものは動作しませんか?
EDIT:
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:ここでは、モデルが
アプリ/モデル/ product.jsある
固定import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
products: DS.hasMany('product')
});
"これは将来の読者を助けるとは思わない方法で解決されました" - 私はそれに全く反対しています。あなたが検索した場合、引用した特定のエラーを見ることができます。多くの原因があります。またEmberJSの新しいユーザーは、そのエラーの原因を特定するのが非常に困難です。私はそれらをすべて読んで、自分のコードで何がエラーになっているのかを調べるためにかなりの時間を費やしました。完全なブロックのコードを間違ったファイルに入れてこのエラーを引き起こすのは、単純なタイプミスではありません。 – rmcsharry