【问题标题】:Data store return only one record in ember数据存储在 ember 中仅返回一条记录
【发布时间】:2015-11-01 06:38:25
【问题描述】:

我正在尝试在模板中查看用户列表。但它只检索我输入的一个(最后一个)记录。为什么它返回一个记录?是数据存储缓存问题吗?以下是我遵循的方法

模板/userlist.hbs

{{#each item in model}}
{{#link-to 'userlist.edit' item.id}}edit:{{item.userName}}{{/link-to}}
{{/each}}

routes/userlist.js

    import Ember from 'ember';

    export default Ember.Route.extend({

    model: function() {
        return this.store.find('user');
      }

    });

模型/user.js

import DS from 'ember-data';

export default DS.Model.extend({


    docType:DS.attr('string'),
    firstName:DS.attr('string'),
    role:DS.attr('string'),


    userName:DS.attr('string'),
    password:DS.attr('string'),

    lastName:DS.attr('string'),
    mobileNo:DS.attr('string'),
    landNo:DS.attr('string'),
    address:DS.attr(
        {
        no:'string',
        street:'string',
        city:'string'
    }
    ),

    nicNo:DS.attr('string'),



}); 

api/user.js

module.exports.getAllUsers=function(req,res) {
    UserModel.find({},function(err,docs) {
        if(err) {
            res.send({error:err});
        }
        else {
            res.send({user:docs});
        }
    });
};

app/routes.js

router.route('/api/users').get(function(req,res){users.getAllUsers(req,res)})
                              .post(function(req,res){console.log(req.body);users.addUser(req,res);});

【问题讨论】:

  • 您需要显示来自您的 API 对 this.store.find('user'); 调用的示例响应。
  • 另外,您使用什么版本的 Ember 和 Ember Data?

标签: javascript ember.js


【解决方案1】:

问题是您必须为返回的数据命名键users,而不是user

所以,在getAllUsers 函数体变化:

res.send({ user: docs });

收件人:

res.send({ users: docs });

【讨论】:

    猜你喜欢
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2022-01-27
    • 1970-01-01
    • 1970-01-01
    • 2013-03-28
    相关资源
    最近更新 更多