这是对我之前的问题的跟进。
我的Router基本上看起来如下:
App.Router.map(function () {
this.resource('posts', function () {
this.resource('post', {
'path': '/:post_id'
}, function () {
this.route('edit');
this.resource('comments');
this.resource('trackbacks');
});
});
});
由于我希望 mypost和post/edittemplate 都呈现为相同{{outlet}}的 ,因此我覆盖了PostEditRoutefor this (因此renderTemplatewhich 负责处理此问题)。我还需要覆盖model以使用PostRoute's 模型:
App.PostEditRoute = Ember.Route.extend({
model: function() {
return this.modelFor('post');
},
deactivate: function() {
this.currentModel.get('transaction').rollback();
},
renderTemplate: function() {
this.render({
into: 'posts'
});
}
});
我的post/edit模板包含一个取消链接,我想将其“重定向”回post视图。
<script type="text/x-handlebars" data-template-name="post/edit">
{{view Em.TextField valueBinding="title"}}
{{view Em.TextArea valueBinding="description"}}
{{#linkTo post}}Cancel{{/linkTo}}
</script>
但这就是麻烦开始的地方:单击取消post链接将在模板中显示一个空白区域。
我还尝试将参数传递给#linkTo助手(#linkTo post this);确实显示了post模板,但Uncaught RangeError: Maximum call stack size exceeded返回时会导致错误post/edit。
post我的问题:取消到时如何导航回post/edit?