我有一篇帖子,其中有很多評論。問題是我能夠獲取所有評論,但我無法獲取單個評論,因此無法編輯單個評論。由於我無法獲取單個評論,這意味着我無法將單個記錄添加到交易或編輯單個記錄。無法編輯燼數據中的hasMany關聯子記錄
評論是sideloaded,不會支持的路線,我不想路線的任何評論相關的控制器。所以我在ApplicationRoute中使用controllerFor設置CommentController的模型,然後使用[needs] api將模型包含在可能需要模型內容的其他評論相關控制器中。
您可以通過點擊後到達評論 - >然後單擊文章標題 - > 點擊新增評論 *然後保存並reclick editcomment。
這是jsfiddle,但與此相關的問題代碼的相關位下方是:
EmBlog.ApplicationRoute = Ember.Route.extend({
setupController: function() {
this.controllerFor('comment').set('model', EmBlog.Comment.find());
}
});
的評論控制器
//Even when I use ArrayController, the error is still there
EmBlog.CommentController = Ember.ObjectController.extend({
content: null
});
的控制器手柄編輯,所有的錯誤發生在editComment方法
EmBlog.CommentEditController = Ember.ObjectController.extend({
needs: ['comment'],
isEditing: false,
editComment: function(post) {
var comment = this.get('controllers.comment.content');
var yk = comment.get('post');
//this line is undefined
console.log(yk);
var commentEdit = this.set('content', comment);
console.log(commentEdit);
transaction = this.get('store').transaction();
//Uncaught Error: assertion failed: You must pass a record into transaction.add()
transaction.add(commentEdit);
this.transaction = transaction;
this.set('isEditing', true);
}
});
把手的職位/顯示
<script type="text/x-handlebars" data-template-name="posts/show">
{{render 'comment/edit' comment}}
</script>