나는 게시물 색인을위한 기본 라우터를 가지고 있으며 작업을 표시합니다. 단일 게시물로 이동하면 페이지가 올바르게 렌더링되고 URL은 /#/posts/foo
으로 설정됩니다. 그러나 URL을 복사하여 새 탭에 붙여 넣으면 페이지가로드되지만 URL은 /#/posts/null
으로 변경됩니다. 다른 것보다 페이지가 제대로 표시되고 오류는 간단한 모델Ember 역 직렬화 URL이 null 인
App.Post = DS.Model.extend({
id: DS.attr("string"),
title: DS.attr("string"),
content: DS.attr("string"),
image: DS.attr("string")
});
와
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);
}
})
을 표시되지 않습니다 및 로그이
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
})
});
'deserialize'기능이 제대로 작동하지 않는 것 같습니다. 문제가 무엇인지는 모르지만 나중에 다시 설명하겠습니다. – mehulkar