在使用createRecord()添加记录后,如何在ember.js中刷新模型?

在使用createRecord()添加记录后,如何在ember.js中刷新模型?,ember.js,ember-data,Ember.js,Ember Data,更新:这已经过时了,我的博客不再以余烬为基础。基本上,我的问题很简单。我用createRecord()添加了一条记录。我可以看到触发的didCreate事件,但我不知道如何加载余烬并显示我刚刚创建的内容。这个案例是关于在帖子中添加评论——这就是我想立即看到的 更新:我没有JSFIDLE,但我可以展示我所说的实时应用程序/站点是我自己的博客,这里: 模板在页面底部,javascript在这里:假设您使用commit()保存注释,类似这样的操作应该可以: {{#each comment in pos

更新:这已经过时了,我的博客不再以余烬为基础。基本上,我的问题很简单。我用
createRecord()
添加了一条记录。我可以看到触发的
didCreate
事件,但我不知道如何加载余烬并显示我刚刚创建的内容。这个案例是关于在帖子中添加评论——这就是我想立即看到的

更新:我没有JSFIDLE,但我可以展示我所说的实时应用程序/站点是我自己的博客,这里:


模板在页面底部,javascript在这里:

假设您使用commit()保存注释,类似这样的操作应该可以:

{{#each comment in post.comments}}
  {{comment.text}}
{{/each}}
您可以从
didCreate
hook将新记录手动添加到记录数组中:

var newRecord = transaction.createRecord(Ngin.Comment, {
    articleUrl: articleUrl,
    name: name,
    url: url,
    email: email,
    body: body,
    secret: secret
});
newRecord.one('didCreate', this, function () {
    this.get('comments').pushObject(newRecord);
});
transaction.commit();
或者,如果要从服务器重新加载,请使用
reload
方法:

编辑
在检查源代码之后,我在类
RecordArray
中找到了一个
update
方法。这似乎是正确的方法。

以下方法既不是有效的,也不是最好的方法,但它会通知视图。并将努力找到更好的方法。我确信有一个更新方法和一个通知视图的方法。无法立即找到它

模板

<script type="text/x-handlebars" id="posts">
<button {{action 'newObject'}} ></button>

好啊如果连接正确,它应该会自动更新,但在这两者之间可能会出现很多问题。不可能猜测,建议发布一个JSFIDLE。这些都不起作用。第一个说服务器响应是不可变的,第二个说重新加载不是一种功能,而且仍然不喜欢这种黑客行为。
<script type="text/x-handlebars" id="posts">
<button {{action 'newObject'}} ></button>
App.PostsController = Ember.ArrayController.extend

  actions: {
    newObject: function() {
       this.store.createRecord('post', {id: xxxx, title: 'Default title'});
       var all = this.store.filter('post', function(post) {
         return post; // return each object
       }); //This filter will include the new post record
       this.set('model', all); // set will notify the view of a mutated array
    }
  },