1

モデルをビューに保存した後、ビュー内のデータは空です。たとえば、投稿にコメントを追加し、投稿を保存した後にビューが空である場合、データは表示されません。なんで?どうすれば問題を解決できますか?

 var post = this.get('model');
 var comment = this.store.pushObject('comment');
 comment.set('text', ' thats some text');
 comment.set('created', '11111212');
 comment.save().then(function(resolvedComment){
   post.get('comments').addObject(resolvedComment);
   post.save();
});
4

3 に答える 3

0

ここでコントローラーを取得します。保存ボタンをクリックすると、メソッドが起動します。

App.PostController = Ember.ObjectController.extend({
    needs: ['application'],
    newComment: null,

    actions:{

        createIncidentComment: function(){
            var post = this.get('model');
            var state = post.get('postState');
            var newComment = this.get('newComment');
            var date = Date.now();
            var currentUser = this.get('controllers.application.user');
            var contr = this;
            if(newComment!= null){
                var comment = this.store.createRecord('comment',{
                    comment: newComment,
                    created: date,
                    context: postState,
                    reporter: currentUser
                });
                comment.save().then(function(){
                    post.get('comments').pushObject(comment);
                    post.save();
                });
            }
        }
    }
});
于 2013-09-12T08:56:01.430 に答える
0

問題が解決しました :)

投稿を保存した後、実際にモデルをリロードします。私の例では、モデルは投稿です。

App.PostController = Ember.ObjectController.extend({
    needs: ['application'],
    newComment: null,

    actions:{

        createIncidentComment: function(){
            var post = this.get('model');
            var state = post.get('postState');
            var newComment = this.get('newComment');
            var date = Date.now();
            var currentUser = this.get('controllers.application.user');
            var contr = this;
            if(newComment!= null){
                var comment = this.store.createRecord('comment',{
                    comment: newComment,
                    created: date,
                    context: postState,
                    reporter: currentUser
                });
                comment.save().then(function(){
                    post.get('comments').pushObject(comment);
                    post.save().then(function(){
                       post.reload();
                    });
                });
            }
        }
    }
});
于 2013-09-13T09:18:54.817 に答える