配置 Ember CLI 以使用 http-mock

Configure Ember CLI to use http-mock

设置:

ember new shop
cd shop
ember install:addon ember-cli-scaffold
ember generate scaffold product name:string available:boolean
ember generate adapter product

我想使用 http-mock,但 http://www.ember-cli.com/#ember-data 告诉我这样做:

ember g http-mock products

之后我使用这段代码生成了两个示例产品:

server/mocks/products.js

module.exports = function(app) {
  var express = require('express');
  var productsRouter = express.Router();

  productsRouter.get('/', function(req, res) {
    res.send({
      'products': [
      {
        id: "1",
        name: 'Orange',
        available: true
       }, {
        id: "2",
        name: 'Apple',
        available: false
        }
      ]
    });
  });

  [...]

当我使用命令 ember server 并浏览到 http://localhost:4200/products 时,我什么也没看到。

我错过了什么?我还必须启动或配置什么?

wadeo:@wintermeyer 你试过了吗http://localhost:4200/api/products

要让这个东西飞起来,必须按如下方式更改适配器。

app/adapters/product.js

import DS from 'ember-data';

export default DS.RESTAdapter.extend({
  'namespace': 'api'
});

您必须做两件事...您需要为每个将使用此 api 的页面更改路由,并调用页面模板中的数据源.假设您有一个名为产品的页面,您需要更改您的路线....

// routes/products.js

import Ember from 'ember';
export default Ember.Route.extend({
     model:function() {
            return this.store.findAll('product');
        }
});

同时更改您的模板:

// products.hbs

{{#each products in model}}
   <li > {{proudct._id}} - {{#link-to 'product' product}}Details{{/link-to}}</li>{{/each}}