Ember.js:如何使用模型的单个实例创建 route/controller

Ember.js: How to create route/controller with single instance of a model

如何找到模型的单个实例并将其分配给路线?

我希望本地存储中的同一个对象成为路由及其控制器运行的模型。

我可以做到,而且我的视图工作正常:

App.ThingRoute = Ember.Route.extend({
  model: function () {
    return this.store.createRecord("thing", {name: "Foo"});
  }
});

但我无法找到如何 return 第一个 'thing' 记录而不是整个集合。我希望是这样的:

return this.store.find("thing").first();

更新(2015-01-28 07:19:00 GMT):我应该明确表示我打算让这个对象只存在于本地存储中。

谢谢

好吧,如果您尝试访问的记录已经加载,您可以使用:

this.store.all('thing').get('firstObject');

获取已加载记录集合的第一个对象。

当您想 return 尚未加载的第一个集合对象时有点棘手:

context = this;
return new Promise(function (resolve, reject) {
  context.store.find('thing').then(function (things) {
    resolve(things.get('firstObject'));
  });
});