使用findQuery获取createRecord后没有模板更新

时间:2014-10-21 14:06:40

标签: ember.js ember-data

我很想知道为什么在createRecord使用findQuery获取数据后,我的模板无法更新。

将此return this.store.findQuery('timetracking', {year: year, month: month, user_id: user_id});更改为return this.store.find('timetracking');时,模板会更新我的新记录。

我不想获取所有记录以保存带宽,但是当仅使用find/findQuery查询参数时,我新创建的记录不会显示在我的模板中。

我是否必须重新加载?怎么做?

更新

灰烬检查员显示新记录。

1 个答案:

答案 0 :(得分:5)

findQuery将过滤的工作放回到服务器上。 Ember Data假定返回的结果是与该集合关联的唯一结果。没有查询或ID(find)的findAll将始终返回在商店中找到的所有记录,因为它意识到您没有查找任何已过滤的集合,如果您高兴地创建新记录知道将它包含在所有可用记录中。您可以使用pushObject手动将记录推送到记录集合中。

// assuming you're in the context of your `findQuery` results, and they are the model
var model = this.get('model'),
    record = this.store.createRecord('timetracking', {...});

model.pushObject(record);