EmberJSの新しいルーターAPIで動的セグメントを使用してルートを作成する方法がわかりません。私はそれに一週間を費やし、多くのことを試しましたが、うまくいきません。ドキュメント、API、ソースコードを何度も読んだことがあり、これを機能させる方法がわからないため、私は自分自身に本当に不満を感じています。私は助けを求めて死にかけています。
私は次のルートを達成しようとしています:
- / profile /:userId->インデックス
- / profile /:userId/activity->アクティビティページ
- / profile /:userId/..。
私のルーターはこのように設定されています
App.Router.map(function() {
return this.resource("profile", function() {
this.route("index", { path: '/:userId' });
this.route("activity", { path: '/:userId/activity' });
});
});
次に、linkTo
ヘルパーとリンクしようとすると、次のエラーが発生します。Uncaught More objects were passed than dynamic segments
<li>{{#linkTo "profile.index" user}}overview{{/linkTo}}</li>
オブジェクトを含めないuser
と、別のエラーが発生しますUncaught Error: assertion failed: Cannot call get with 'id' on an undefined object.
(明らかに、IDを取得するオブジェクトがないため)
それがヘルパーなら、ここに私のルート宣言があります
App.ProfileIndexRoute = Ember.Route.extend({
model: function(params) {
return Ember.Object.create({
id: 1
});
},
setupController: function(controller, model) {
return controller.set("content", model);
}
});
App.ProfileActivityRoute = Ember.Route.extend({
model: function(params) {
return Ember.Object.create({
id: 1
});
},
setupController: function(controller, model) {
return controller.set("content", model);
}
});