使用findRecord获取特定项目

时间:2016-11-25 16:52:15

标签: ember.js

我是ember的新手,作为第一个应用我试图建立一个小网店。 我可以收到"所有产品"作为产品概述,但不是id的特定产品。

我在router.js中有以下内容:

Router.map(function() {
  this.route('products');
  this.route('product', {path: 'products/:product_id'});
});

我的products.js(作品):

import Ember from 'ember';

export default Ember.Route.extend({
  model(){
    return this.get('store').query('product', {});
  }
});

product.js(确实会产生问题):

import Ember from 'ember';

export default Ember.Route.extend({
  model(params){
    return this.store.findRecord('product', params.product_id);
  }
});

该项目位于https://github.com/hatchling-shop/hatchling/tree/master/EmberHatchling

也许你可以帮助我。 提前致谢! :)

1 个答案:

答案 0 :(得分:1)

运行代码后,似乎您在Product.findById()中的API中存在问题,而不是在Ember中。

在以下方法中:

Product.findById(id, function(id, err, product) {
    if (err) {
      res.send(err);
    }
    res.json({product: product});
});

回调中的参数错误,而您需要删除id并更改为:

Product.findById(id, function(err, product) {
    if (err) {
      res.send(err);
    }
    res.json({product: product});
});

希望这有帮助。