所以我正在编写一个 POC 应用程序,在将 Ember 库升级到 RC1 后遇到了问题。我注意到,当我在新版本中转换到路由时,对象的字符串化版本似乎出现在 URL 中,就像这样......
http://localhost:3000/posts/<App.Post:ember269:511401b8c589137c34000001>
当转换为这样时,路由会成功运行,但显然尝试第二次访问这样的 URL 是行不通的。所以我想我会编辑我的代码以转换到 ID。
对于我的编辑路线,我有以下保存事件。
events: {
save: function(post){
post.one('didUpdate', this, function(){
this.transitionTo('posts.show', post);
});
post.get('transaction').commit();
}
}
当转换发生时,这会产生一个类似上面的 URL。所以我将其更正为以下内容...
events: {
save: function(post){
post.one('didUpdate', this, function(){
this.transitionTo('posts.show', post.id);
});
post.get('transaction').commit();
}
}
这会产生正确的 URL 格式,但 show 路由不会产生任何输出。(请注意,当我第一次以正确的格式访问 URL 时,显示输出确实会产生输出,而不是当我从编辑路由转换到它时)。
App.PostsShowRoute = Em.Route.extend({
model: function(params){
return App.Post.find(params.id);
},
setupController: function(controller, model){
controller.set('content', model);
}
});
所以我很困惑。对此问题的原因的任何见解(以及如果您知道 RC 产生它的原因)将不胜感激。帮我把蛋糕也吃掉。谢谢!