配置Ember CLI以使用http-mock

时间:2015-03-23 18:37:27

标签: ember.js ember-cli

设置:

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

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

服务器/嘲笑/ 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时,我什么都没看到。

我错过了什么?我还有什么可以开始或配置?

3 个答案:

答案 0 :(得分:6)

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

应用/适配器/ product.js

import DS from 'ember-data';

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

答案 1 :(得分:1)

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

答案 2 :(得分:0)

您将需要做两件事......您将需要对使用此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}}