Emberjs:如何从find()获取单个对象(findAll)

Jer*_*ick 4 ember.js ember-data

我正在建立一个电子商务网站,并将购物车作为模型,可通过网络服务/ api/cart /访问.使用RESTAdapter,我想简单地调用App.Cart.find()并始终返回1个对象,而不是数组.购物车没有ID,因此调用App.Cart.find(1)是错误的 - 加上会导致错误的Web服务调用:/ api/cart/1.

我是否需要扩展RESTAdapter或Model以使app.Cart上的find()始终返回一个对象而不是一个列表?

Bra*_*ram 6

App.Cart.find().then(function (result) {
  return result.get('firstObject'); 
});
Run Code Online (Sandbox Code Playgroud)

返回对第一个对象的承诺,然后如果那样做就做了.注意你可以在路径的模型方法中使用它,以便很好地使用becaulse ember处理promise.

我在那个模型中使用过.在最后一个版本中使用完美.

model: function(params) {
    return App.Cart.find({slug: params.slug}).then(function (obj) {
        return obj.get('firstObject');
    });
}
Run Code Online (Sandbox Code Playgroud)