Ember数据:创建新记录的最佳做法

时间:2016-04-25 15:29:19

标签: ember.js ember-data

我想知道在ember数据应用程序中创建新记录时的最佳做法。

女巫跟踪策略被认为是最佳做法?

策略1

  • Model hook从this.store.createRecord();
  • 返回promise
  • 每个模板字段都映射到模型钩子返回的模型。
  • 操作会保存模型。

策略2

  • 每个模板字段都映射到控制器属性。
  • Action调用this.store.createdRecord()并保存模型。

2 个答案:

答案 0 :(得分:0)

我最近在余烬中问了一个类似的问题。我得到的答案归结为:使用策略#1,结合ember-data-route addon

来自插件的自述文件:

  

确保在模型后清理。

     

您停用的所有路线都会检查模型以确保它未被保存。如果是,它将从存储中回滚或删除模型,具体取决于先前是否已保留。

答案 1 :(得分:0)

这取决于我使用这两种策略。

对于具有belongsTohasMany关系的非常复杂的模型,我通常使用策略#2,因为大多数情况下清除某些控制器值比删除所有模型和依赖关系更简单(当用户取消操作时)。在编辑带有hasMany的模型时,我大部分时间也使用策略2,因此hasMany不会直接更改。

对于简单模型,我会使用策略#1并确保在用户不保存更改时删除模型(例如在willTransition挂钩中)。

编辑:在@ Grapho的评论之前,这个ember插件可能很方便:
https://github.com/yapplabs/ember-buffered-proxy