Вложенный динамический сегмент маршрута emberjs возвращает ноль и не может обновить дочернюю запись
Я пытаюсь реализоватькомментарий-функция, чтобы отобразить список комментариев, который принадлежит одному сообщению. Затем нажмите «Изменить» и отредактируйте любой из выбранных комментариев из всех комментариев, принадлежащих одному посту.
обновленныйjsfiddle.
Я могу создать комментарий к выбранному сообщению, как показано на скрипке выше. ** Однако я не могу обновить существующий комментарий, и форма редактирования комментария даже не отображает никаких комментариев. Он всегда пуст и не привязан ни к какому существующему комментарию.
Нажав на editcomment, URL-адрессообщения / 2 / комментарии / неопределенные / редактировать, Это потому, что EmBlog.PostCommentRoute и PostEditCommentRoute по-прежнему возвращают ноль.
Весь закомментированный код - это разные попытки заставить его работать, но он потерпел неудачу. Я оставил их здесь, так что любой, кто посмотрит на вопрос, узнает, что я пробовал до сих пор.
Два маршрута, которые всегда возвращают ноль и, скорее всего, вызывают проблему
EmBlog.PostEditCommentRoute = Ember.Route.extend({
model: function(params) {
var commentEdit = this.modelFor('post').get('comments');
return commentEdit.get(params.comment_id);
//return EmBlog.Comment.find({post: post.get('id'), id: params.comment_id});
//var comment = this.modelFor('post').get('comments');
//return comment.filterProperty('id', params.comment_id);
},
setupcontroller: function( controller, model) {
controller.set('content', model);
}
});
Маршрут комментария для отображения одного сообщения
EmBlog.PostCommentRoute = Ember.Route.extend({
model: function(params){
comment = this.modelFor('post').get('comments');
// comment = EmBlog.Comment.find(params.comment_id);
return comment.get(params.comment_id);
// return comment.filterProperty('body', params.comment_id);
},
setupController: function(controller, model) {
//var comment = this.controllerFor('postComments').get('body');
//controller.set('content', comment.filterProperty('body', model));
controller.set('content', model);
},
});
Это роутер. Я пробовал другие комбинации вложений, но остановился на этом, потому что это была единственная версия, которая позволяла добавлять комментарии к работе, поэтому этот вопрос сосредоточен на обновлении вложенного динамического сегмента только в противном случае, я бы спрашивал об обоих:
EmBlog.Router.map(function() {
this.resource("posts", {path: '/posts'}, function(){
this.route('new');
this.resource('post', {path: '/:post_id/'}, function(){
this.route('edit', {path: '/edit'});
this.route('comments', {path: '/comments'});
this.route('newComment');
this.route('comment', {path: '/comments/:comment_id'});
this.route('editComment', {path: '/comments/:comment_id/edit'});
});
});
});