投稿のインデックスとアクションを表示するための基本的なルーターがあります。単一の投稿に移動すると、ページが正しくレンダリングされ、URLがに設定されます/#/posts/foo
。しかし、URLをコピーして新しいタブに貼り付けると、ページは読み込まれますが、URLはに変わり/#/posts/null
ます。それ以外は、ページは適切にレンダリングされ、エラーは表示されません
show: Em.Route.extend({
route: "/post/:id",
serialize: function(router, context) {
return { id: context.get("id") };
},
deserialize: function(router, context) {
return App.get("store").find(App.Post, context.id);
},
connectOutlets: function(router, context) {
router.get("applicationController").connectOutlet("body", "post", context);
}
})
シンプルなモデルで
App.Post = DS.Model.extend({
id: DS.attr("string"),
title: DS.attr("string"),
content: DS.attr("string"),
image: DS.attr("string")
});
ログは次のようになります
STATEMANAGER: Entering root ember.js:17420
STATEMANAGER: Sending event 'navigateAway' to state root. ember.js:17172
STATEMANAGER: Sending event 'unroutePath' to state root. ember.js:17172
STATEMANAGER: Sending event 'routePath' to state root. ember.js:17172
STATEMANAGER: Entering root.show
とルーター
App.Store = DS.Store.extend({
revision: 4,
adapter: DS.RESTAdapter.create({
bulkCommit: false
})
});